题目描述
输入一个链表,反转链表后,输出新链表的表头。
示例:
输入:{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) {ListNode pre = null;ListNode tmp = null;while(head!=null){//保存head的下一个节点的信息,保证单链表不会因为失去head节点的原next节点而就此断裂tmp = head.next;// 开始反转head.next = pre;pre = head;// 移动headhead = tmp;}return pre;}}
