标签:反转单链表
思路:定义四个结点,前结点preNode,当前结点node,下一个结点nextNode,反转结点reverseNode。遍历结点,设置node结点下一个结点为preNode,把当前结点node赋给preNode,把nextNode赋给node
public static ListNote reverseListNode(ListNote headNode) {
if(headNode==null){
return null;
}
ListNote reverseNode=null;//反转结点
ListNote node=headNode;//当前结点
ListNote preNode=null;//前结点
while(node!=null){
ListNote nextNode=node.getNext();//下一个结点
//当下一个结点为空时,说明node到达结尾,将node反转完成,赋给reverseNode
if(nextNode==null){
reverseNode=node;
}
node.setNext(preNode);//node设置下一节点为preNode,反转
preNode=node;
node=nextNode;
}
return reverseNode;
}
定义单向链表ListNote
public class ListNote {
private ListNote NextNote;
private int value;
public ListNote(){
}
public ListNote(int value){
this.value=value;
}
public ListNote getNext(){
return NextNote;
}
public void setNext(ListNote next){
this.NextNote=next;
}
public int getValue(){
return value;
}
public void setValue(int value){
this.value=value;
}
}
标签:反转单链表
原文地址:http://blog.csdn.net/qq_16687803/article/details/45789527