首页 > 学院 > 开发设计 > 正文

206. Reverse Linked List

2019-11-08 02:11:40
字体:
来源:转载
供稿:网友

题目

Reverse a singly linked list.

click to show more hints.

Subscribe to see which companies asked this question.

Show Tags Show Similar PRoblems


思路

两个指针一前一后遍历翻转链表指向,注意最后要把最开始的head的next指针弄成NULL


代码

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* reverseList(ListNode* head) { if(head == NULL || head->next == NULL) { return head; } ListNode* preNode = head; ListNode* laterNode = head->next; ListNode* tempNode = NULL; while(laterNode != NULL) { tempNode = laterNode->next; laterNode->next = preNode; preNode = laterNode; laterNode = tempNode; } //最后一定要把反转后的最后一个节点next置NULL head->next = NULL; return preNode; }};
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表