倒数第几个(本质上是将倒数 转化成(两个点之间)具体的距离)

倒数第几个(本质上是将倒数 转化成(两个点之间)具体的距离)

19_删除链表的倒数第N个结点:

    // 方法三: 通过 设置两个距离是n 的指针(不断的往后走,走到最后,差距便是倒数
    //本质上是将倒数 转化成(两个点之间)具体的距离,而这距离是需要通过遍历到达的

 

    // 方法三: 通过 设置两个距离是n 的指针(不断的往后走,走到最后,差距便是倒数
    //本质上是将倒数 转化成(两个点之间)具体的距离,而这距离是需要通过遍历到达的
    class Solution3 {
        public ListNode removeNthFromEnd(ListNode head, int n) {
            ListNode dummy = new ListNode(0, head);
            ListNode first = head;
            ListNode second = dummy;
            for (int i = 0; i < n; ++i) {
                first = first.next;
            }
            while (first != null) {
                first = first.next;
                second = second.next;
            }
            second.next = second.next.next;
            ListNode ans = dummy.next;
            return ans;
        }
    }

 

上一篇:排成一条线的纸牌博弈问题


下一篇:【python】关于基于列表的子列表某项元素对子列表进行排序的实现