本文共 1007 字,大约阅读时间需要 3 分钟。
class Node { public Node next; public int value; public Node(int data) { value = data; }}
class DoubleNode{ public DoubleNode preNode; public DoubleNode nextNode; public int value; public DoubleNode(int value) { this.value = value; }}
private static Node reverseNode(Node head) { Node pre = null; Node next; while (head != null) { next = head.next; head.next = pre; pre = head; head = next; } return pre; }
解析
1、假设初始节点如下
2、next = head.next;
3、head.next = pre;
4、pre = head;
5、head = next;
以此反复处理。private static DoubleNode reverseDoubleNode(DoubleNode head) { DoubleNode pre = null; DoubleNode next; while (head != null) { next = head.nextNode; head.nextNode = pre; head.preNode = next; pre = head; head = next; } return pre; }
转载地址:http://dllrb.baihongyu.com/