zoukankan      html  css  js  c++  java
  • remove-nth-node-from-end-of-list

    /**
    * 给定一个链表,删除链表的倒数第n个节点并返回链表的头指针
    * 例如,
    * 给出的链表为:1->2->3->4->5, n= 2.↵↵
    * 删除了链表的倒数第n个节点之后,链表变为1->2->3->5.
    * 备注:
    * 题目保证n一定是合法的
    * 请尝试只用一步操作完成该功能
    */

    /**
     * 给定一个链表,删除链表的倒数第n个节点并返回链表的头指针
     * 例如,
     *    给出的链表为:1->2->3->4->5, n= 2.↵↵
     *    删除了链表的倒数第n个节点之后,链表变为1->2->3->5.
     * 备注:
     * 题目保证n一定是合法的
     * 请尝试只用一步操作完成该功能
     */
    
    public class Main58 {
        public static void main(String[] args) {
            ListNode head = new ListNode(1);
            head.next = new ListNode(2);
            head.next.next = new ListNode(3);
            head.next.next.next = new ListNode(4);
            head.next.next.next.next = new ListNode(5);
            System.out.println(Main58.removeNthFromEnd(head, 2).val);
        }
    
        public static class ListNode {
            int val;
            ListNode next;
            ListNode(int x) {
                val = x;
                next = null;
            }
        }
    
        public static ListNode removeNthFromEnd(ListNode head, int n) {
            ListNode first = head;
            ListNode second = head;
            while (n-- > 0) {
                first = first.next;
            }
            ListNode pre = null;
            while (first.next != null) {
                pre = second;
                second = second.next;
                first = first.next;
            }
            if (pre != null) {
                pre.next = second.next;
            }else{
                head = head.next;
            }
            return head;
        }
    }
    

      

  • 相关阅读:
    bzoj3339 rmq problem (range mex query)
    sg函数与博弈论
    JSOI Round 2题解
    bzoj2286 消耗战
    输入输出优化(黑科技)
    虚树
    迷之数学题*2
    k-d tree 学习笔记
    一类有依赖的树形背包dp方法
    BZOJ4283: 魔法少女伊莉雅(最短路径图+最短路径树)
  • 原文地址:https://www.cnblogs.com/strive-19970713/p/11381363.html
Copyright © 2011-2022 走看看