206. 反转链表
题目:
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
示例1:
解题思路:
这道题思路还是比较直观的,遍历链表,把每个节点cur指向其前一个节点pre,注意改变指向前需要先记录下后一个节点suf。
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {ListNode pre = null, suf = null;ListNode cur = head;while(cur != null){suf = cur.next;cur.next = pre;pre = cur;cur = suf;}return pre;}
}