递归实现反转链表(java java java),
分享于 点击 22044 次 点评:125
递归实现反转链表(java java java),
原大佬链接:https://blog.csdn.net/acquaintanceship/article/details/73011169
package reseverList;
public class test {
public static void main(String[] args) {
Node head = readyNode();
Node tempNode = head;
while(tempNode != null){
System.out.println(tempNode.data);
tempNode = tempNode.next;
}
Node ReverserHead =reverseLinkedList(head);
Node ReverserTempNode = ReverserHead;
System.out.println("==============分割线============");
while(ReverserTempNode != null){
System.out.println(ReverserTempNode.data);
ReverserTempNode = ReverserTempNode.next;
}
}
static class Node {
Integer data;
Node next;
}
static Node readyNode() {
Node linkNode1 = new Node();
linkNode1.data = 1;
Node linkNode2 = new Node();
linkNode2.data = 2;
Node linkNode3 = new Node();
linkNode3.data = 3;
Node linkNode4 = new Node();
linkNode4.data = 4;
Node linkNode5 = new Node();
linkNode5.data = 5;
Node linkNode6 = new Node();
linkNode6.data = 6;
linkNode1.next = linkNode2;
linkNode2.next = linkNode3;
linkNode3.next = linkNode4;
linkNode4.next = linkNode5;
linkNode5.next = linkNode6;
return linkNode1;
}
static Node reverseLinkedList(Node node) {
if (node == null || node.next == null) {
return node;
} else {
Node headNode = reverseLinkedList(node.next);
node.next.next = node;
node.next = null;
return headNode;
}
}
}
相关文章
- 暂无相关文章
用户点评