当前位置:   article > 正文

124.反转链表(力扣)

124.反转链表(力扣)

题目描述

代码解决(思路1:双指针)

  1. class Solution {
  2. public:
  3. ListNode* reverseList(ListNode* head)
  4. {
  5. ListNode*temp;//保存cur下一个节点
  6. ListNode*cur=head;
  7. ListNode*pre=NULL;
  8. while(cur)
  9. {
  10. temp=cur->next;// 保存一下 cur的下一个节点,因为接下来要改变cur->next
  11. cur->next=pre;//翻转
  12. //更新pre和cur
  13. pre=cur;
  14. cur=temp;
  15. }
  16. return pre;
  17. }
  18. };
  1. 初始化三个指针curpretemp,其中cur指向链表的头节点,pre初始化为NULLtemp用于保存cur的下一个节点。

  2. 使用一个while循环来遍历链表,循环的条件是cur不为NULL

  3. 在循环内部,首先使用temp保存cur的下一个节点,因为接下来要改变cur的指针域,指向pre

  4. cur的指针域指向pre,完成翻转。

  5. 更新precur,将pre指向curcur指向temp

  6. curNULL时,循环结束,此时pre指向翻转后的链表的头节点,返回pre

 

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

闽ICP备14008679号