单链表的反转
单链表进行反转,前边的变成后边的,后边的变成前边的,进行相对应的反转。
public class ListNode {
int val;
ListNode next;
ListNode() {}
ListNode(int val) { this.val = val; }
ListNode(int val, ListNode next) { this.val = val; this.next = next; }
}
/**
* 单链表反转
* @param head
* @return
*/
public static ListNode rev(ListNode head){
ListNode proNode = null;
ListNode curNode = head;
ListNode nextNode = null;
while(curNode.next != null){
nextNode = curNode.next;
curNode.next = proNode;
proNode = curNode;
curNode = nextNode;
}
curNode.next = proNode;
return curNode;
}