美文网首页
206. 反转链表

206. 反转链表

作者: justonemoretry | 来源:发表于2021-08-30 22:28 被阅读0次
    image.png

    解法

    /**
     * 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) {
            if (head == null) {
                return head;
            }
            // 之前已经反转过的链表的位置
            ListNode pre = null;
            while (head != null) {
                // 维护后一个节点的位置
                ListNode next = head.next;
                // 当前节点的next指向之前已经反转好的链表
                head.next = pre;
                // pre指针后移
                pre = head;
                // 继续遍历
                head = next;
            }
            return pre;
        }
    }
    

    相关文章

      网友评论

          本文标题:206. 反转链表

          本文链接:https://www.haomeiwen.com/subject/rbzgiltx.html