牛客题霸NC78反转链表c++题解
反转链表
http://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca
题意:
跟题目名称一样
解法:
反转链表(单向),就是让每个元素的指向的元素的只回来。
那就新建一个指针来记录上个元素,进行操作。
但是上面操作有一点小问题:无法向后转移。
解决方案:直接再开一个指针来记录当前元素的即可。
代码(c++):
class Solution { public: ListNode* ReverseList(ListNode* pHead) { ListNode* s; ListNode* z = NULL; while(pHead != NULL){ s = pHead ->next; pHead ->next = z; z = pHead; pHead = s; } return z; } };