单链表反转java
2017-06-08 17:54
411 查看
public class SingleLinkTest { public static void main(String[] args) { Node node = new Node(0); Node head = node; int i = 1; while(i < 10){ node.next = new Node(i); node = node.next; i++; } Node cur = head; while(cur != null){ System.out.print(cur.data + ","); cur = cur.next; } System.out.println("反转后"); head = reverse(head); cur = head; while(cur != null){ System.out.print(cur.data + ","); cur = cur.next; } System.out.println("反转后"); head = reverseNoDiGui(head); cur = head; while(cur != null){ System.out.print(cur.data + ","); cur = cur.next; } } public static Node reverse(Node node){ if(node == null || node.next == null){ return node; } Node reHead = reverse(node.next); node.next.next = node; node.next = null; return reHead; } public static Node reverseNoDiGui(Node head){ Node pre = head; Node cur = head.next; Node temp; while(cur != null){ temp = cur.next; cur.next = pre; pre = cur; cur = temp; } head.next = null; return pre; } } class Node { public Node(int data) { this.data = data; } public int data; public Node next; }
相关文章推荐
- Java单双链表的创建、反转与递归反转
- 反转链表的Java实现
- Java实现单链表反转
- java之链表反转
- Java实现反转单链表
- 单链表的反转java实现
- 【LeetCode-面试算法经典-Java实现】【092-Reverse Linked List II(反转单链表II)】
- java-实现链表反转-递归和非递归实现
- Java中单链表的实现和单链表的反转(倒置)
- java实现链表反转
- Java链表反转(复习.复习)
- 【Java数据结构】Java数据结构之链表反转
- 反转链表(不改变指针)JAVA版
- Java单链表反转与部分反转
- 单链表反转(Singly Linked Lists in Java)
- Java单双链表的创建、反转与递归反转
- 不依赖堆栈的链表反转——java实现
- 反转链表_Java实现
- 剑指Offer-题16 反转链表(Java)
- 剑指Offer面试题16(Java版):反转链表