描述
输入一个链表,反转链表后,输出新链表的表头。
示例1
输入: {1,2,3}
返回值: {3,2,1}
代码:
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
//翻转后头结点
ListNode newHead = null;
//当前要翻转的结点
ListNode cur = head;
//下一个要翻转的结点
ListNode nex = null;
while(cur != null) {
nex = cur.next;
cur.next = newHead;
newHead = cur;
cur = nex;
}
return newHead;
}
}