当前位置:   article > 正文

力扣206.反转链表(C++)_力扣206题c++测试

力扣206题c++测试

目录

1.题目描述

2.代码


1.题目描述

206.反转链表

【简单】

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
 

示例 1:


输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
示例 2:


输入:head = [1,2]
输出:[2,1]
示例 3:

输入:head = []
输出:[]
 

提示:

链表中节点的数目范围是 [0, 5000]
-5000 <= Node.val <= 5000

来源:力扣(LeetCode)

链接:https://leetcode.cn/problems/reverse-linked-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.代码

双指针法

  1. /**
  2. * Definition for singly-linked list.
  3. * struct ListNode {
  4. * int val;
  5. * ListNode *next;
  6. * ListNode() : val(0), next(nullptr) {}
  7. * ListNode(int x) : val(x), next(nullptr) {}
  8. * ListNode(int x, ListNode *next) : val(x), next(next) {}
  9. * };
  10. */
  11. class Solution {
  12. public:
  13. ListNode* reverseList(ListNode* head) {
  14. ListNode* temp;
  15. ListNode* cur = head;
  16. ListNode* pre = NULL;
  17. while (cur) {
  18. temp = cur->next;
  19. cur->next = pre;
  20. pre = cur;
  21. cur = temp;
  22. }
  23. return pre;
  24. }
  25. };

仅记录,侵权删

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/算法构造者/article/detail/62834
推荐阅读
相关标签
  

闽ICP备14008679号