给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
/**
* Definition for singly-linked list. */
//public class ListNode206 {
// int val;
// ListNode next;
// ListNode206() {}
// ListNode206(int val) { this.val = val; }
// ListNode20(int val, ListNode next) { this.val = val; this.next = next; }
// }
class Solution206 {
public ListNode reverseList(ListNode head) {
if (head == null){
return null;
}
ListNode front = head;
ListNode current = new ListNode(6000);
ListNode nextNode = new ListNode(6000);
if(front.next == null){
return head;
}else{
current = front.next;
}
if(current.next==null){
front.next = null;
current.next = front;
return current;
}else{
nextNode = current.next;
}
while(nextNode!=null){
if(front==head){
front.next = null;
}
current.next = front;
front = current;
current = nextNode;
nextNode = nextNode.next;
}
current.next = front;
return current;
}
}
public class leecode206 {
public static void main(String[] args) {
ListNode a = new ListNode(1);
ListNode b = new ListNode(2);
a.next = b;
Solution206 solution = new Solution206();
ListNode reverse = solution.reverseList(a);
while(reverse!=null){
System.out.println(reverse.val);
reverse = reverse.next;
}
}
}