java反转链表

来源:互联网 发布:菜瓜软件 编辑:程序博客网 时间:2024/05/24 01:37

非递归方法

public Node reverse(Node p){

Node nextNode  =  null;

Node previousNode  = null;

while(p != null){

nextNode = p.next;

p.next = previousNode;

previousNode = p;

p = nextNode;

}

return previousNode;

}


递归方法

public Node reverse(Node p){

if (p == null || p.next == null) 

return p;

Node nextNode = p.next;

p.next = null;

Node reverseRest = reverse(nextNode);

nextNode.next = p;

return reverseRest;

}

0 0