public class MyLinkList {
public static class Node {
public int value;
public Node next;
public Node(int data) {
this.value = data;
}
}
/**
* 递归实现
*/
public static Node reverseList(Node head) {
if (head == null || head.next == null) {
return head;
}
Node next = head.next;
Node node = reverseList(next);
next.next = head;
head.next = null;
return node;
}
/**
* 非递归
*/
public static Node reverseList1(Node head) {
Node newNode = null;
while (head != null) {
Node temp = head.next;
head.next = newNode;
newNode = head;
head=temp;
}
return newNode;
}
public static void printLinkedList(Node head) {
System.out.print("Linked List: ");
for (Node i = head; i != null; i = i.next) {
System.out.println(i.value);
}
System.out.println();
}
public static void main(String[] args) {
Node head1 = new Node(1);
head1.next = new Node(2);
head1.next.next = new Node(3);
head1.next.next.next = new Node(4);
head1.next.next.next.next = new Node(5);
head1.next.next.next.next.next = null;
printLinkedList(head1);
head1 = reverseList1(head1);
printLinkedList(head1);
}
}
反转链表
最新推荐文章于 2024-06-14 09:15:00 发布