码迷,mamicode.com
首页 > 其他好文 > 详细

单链表反转

时间:2019-04-25 18:59:43      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:node   单链表反转   ret   return   sel   style   new   ==   遍历   

递归方法:

public Node reverse(Node head) {
    if (head == null || head.next == null)
        return head;
    Node temp = head.next;
    Node newHead = reverse(head.next);
    temp.next = head;
    head.next = null;
    return newHead;
}
//总体来说,递归法是从最后一个Node开始,在弹栈的过程中将指针顺序置换的。

遍历方法:

public static Node reverseList(Node node) {
  Node pre = null;
  Node next = null;
  while (node != null) {
      next = node.next;
      node.next = pre;
      pre = node;
      node = next;
  }
  return pre;
}
//先将下一节点纪录下来,然后让当前节点指向上一节点,再将当前节点纪录下来,再让下一节点变为当前节点。

 

单链表反转

标签:node   单链表反转   ret   return   sel   style   new   ==   遍历   

原文地址:https://www.cnblogs.com/liumilk/p/10770209.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!