15.反转链表
输入一个链表,反转链表后,输出新链表的
/*
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;
}
}
浙公网安备 33010602011771号