题解 | #反转链表#

反转链表

http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

/* struct ListNode { int val; struct ListNode next; ListNode(int x) : val(x), next(NULL) { } };/

//利用链表的传递性直接反转

class Solution { public: ListNode* ReverseList(ListNode* pHead) { struct ListNode*p, *temp,*pre; p = pHead; pre = NULL;//pre代表的是p前面的指针,初始设为空 while (p != NULL) { temp = p->next;//temp保留下一节点位置 p->next = pre;//让当前指针指向前面的节点 pre = p;//平移pre p = temp;//将p更新 } return pre;//最后返回空指针前的指针,即反链表的头指针 } };

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务