反转链表~

反转链表~,第1张

问题描述

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

思想
  1. 双指针调换方向即可
  2. 需要一个临时指针存储下一个地址,画图
  3. 注意:头结点变尾节点了,最开始的head.next需赋值为null.
代码
class Solution {
   public ListNode reverseList(ListNode head) {
       if(head == null)
           return head;
       ListNode p = head.next;
       head.next = null;
       while(p!=null){
           ListNode temp = p.next;
           p.next = head;
           head = p;
           p = temp;
       }
       return head;
   }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1295416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存