单链表的倒置

上一篇 / 下一篇  2016-04-12 17:08:36 / 个人分类:算法

首先,要弄清楚一些概念:单链表可以没有头结点但一定要有头指针,如果没有头结点,那么头指针只想第一个结点。每个结点又有数据域和指向下个结点的指针(后继)。单链表的倒置可以采用头插法,遍历整个链表,将每个结点一次插入到链表的头部。

package linkedList;


public class ReverseList {


// TODO Auto-generated method stub

public static 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;

}

public static void main(String[] args) {

Node node1 = new Node(1);

Node node2 = new Node(2);

Node node3 = new Node(3);

Node node4 = new Node(4);

Node node5 = new Node(5);

node1.next = node2;

node2.next = node3;

node3.next = node4;

node4.next = node5;

Node save = reverseList(node1);

for(;save!=null;save = save.next){

System.out.print(save.value+" ");

}

}


}

class Node{

public int value;

public Node next;

public Node(int value) {

super();

this.value = value;

}


}




TAG:

 

评分:0

我来说两句

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 33192
  • 日志数: 12
  • 建立时间: 2016-04-06
  • 更新时间: 2016-11-08

RSS订阅

Open Toolbar