zoukankan      html  css  js  c++  java
  • leetcode : Remove Nth Node From End of List

    Given a linked list, remove the nth node from the end of list and return its head.

    For example,

       Given linked list: 1->2->3->4->5, and n = 2.
    
       After removing the second node from the end, the linked list becomes 1->2->3->5.
    

    Note:
    Given n will always be valid.
    Try to do this in one pass.

    tag: two pointers, dummy node.  尽量少的指针完成。

    链表基础: reverse linked list 

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public ListNode removeNthFromEnd(ListNode head, int n) {
         
            ListNode dummy = new ListNode(0);
            dummy.next = head;
            ListNode preN = dummy;
            for(int i = 0; i < n; i++) {
                if(head == null) {
                    return null;
                }
                head = head.next;
            }
            
            while(head != null) {
                head = head.next;
                preN = preN.next;
            }
            preN.next = preN.next.next;
            return dummy.next;
        }
    }
    

      

  • 相关阅读:
    js秒换成天时分
    vuex
    匹配iPhoneX
    ASP 解析json
    WPF 实现多语言支持
    c# 用DotNetZip来解压/压缩文件
    WPF UI Close button
    VB 获取所有窗体菜单信息
    ASP/ASP.NET/VB6文件上传
    c# 上传图片到一个外链相册服务器
  • 原文地址:https://www.cnblogs.com/superzhaochao/p/6399718.html
Copyright © 2011-2022 走看看