输入一个链表,反转链表后,输出新链表的
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode ReverseList(ListNode head) { ListNode newList = null; if(head == null || head.next == null) { return head; } while(head != null){
//这里理解可能有点难
//四个语句抛去中间两个的话,可以直接看作是head= head.next;
//至于中间两句是改变指向的,原先的head。next指向一个null Node,newList指向原先的head;
//最后的时候head= head.next的时候head就位空,也不连接了;
ListNode temp = head.next; head.next = newList; newList = head; head = temp; } return newList; } }