首页 > 编程语言 > 详细

算法总结之 反转单向和双向链表

时间:2017-09-09 20:45:28      阅读:238      评论:0      收藏:0      [点我收藏+]

分别实现反转单向和双向链表的函数

看代码:

package TT;

public class Test88 {

    public class Node{
         public int value;
         public Node next;
         public Node(int data){
              this.value = data;
         }
    }
    
    public Node reverseList(Node head){
          Node pre = null;
          Node next = null;
          while(head!=null){
              next = head.next;
              head.next = pre;
              pre = head;
              head = next;
          }
          return pre;
    }
    
    
    
    
}

 

反向双向链表

 

package TT;



import TT.Test86.DoubleNode;

public class Test89 {

    public DoubleNode{
        public int  value;
        public DoubleNode last;
        public DoubleNode pre;
        public DoubleNode(int data){
            this.value = data;
        }
    }
    
    public DoubleNode reverseList(DoubleNode head){
        DoubleNode pre = null;
        DoubleNode next = null;
        while(head!=null){
            next = head.next;
            head.next = pre;
            head.last = next;
            pre = head;
            head = next;
            
            
        }
        return pre;
    }
        
}

 

算法总结之 反转单向和双向链表

原文:http://www.cnblogs.com/toov5/p/7499225.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!