• 0011 删除链表的倒数第N个节点


    定一个链表,删除链表的倒数第 个节点,并且返回链表的头结点。

    示例:

    给定一个链表: 1->2->3->4->5, 和 n = 2.
    
    当删除了倒数第二个节点后,链表变为 1->2->3->5.
    

    说明:

    给定的 n 保证是有效的。

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     public int val;
     *     public ListNode next;
     *     public ListNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public ListNode RemoveNthFromEnd(ListNode head, int n) {
            ListNode p = head;
            int count = 0;
            while(p!=null){
                count++;
                p = p.next;
            }
            p = head;
            if(count < n){
                return null;
            }
            if(count == n){
                return head.next;
            }
            for(int i=0; i<count-n-1; i++){
                if(p.next != null){
                    p = p.next;
                }
            }
            if(p.next != null){
                p.next = p.next.next;
            }
            return head;
        }
    }
    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     public int val;
     *     public ListNode next;
     *     public ListNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public ListNode RemoveNthFromEnd(ListNode head, int n) {
            ListNode p = head;
            List<ListNode> nodes = new List<ListNode>();
            while(p != null){
                nodes.Add(p);
                p = p.next;
            }
            if(n == nodes.Count){
                return head.next;
            }
            nodes[nodes.Count - n -1].next = nodes[nodes.Count - n -1].next.next;
            return head;
        }
    }
  • 相关阅读:
    【转载】SG定理
    P3235 [HNOI2014]江南乐(Multi-Nim)
    斐波那契数列
    WC2021游记
    线性基性质证明和应用
    「NOI2018」屠龙勇士
    XiaoMi Interview Log
    打靶训练
    八皇后问题
    Docker的一些常用
  • 原文地址:https://www.cnblogs.com/lvniao/p/9429983.html
Copyright © 2020-2023  润新知