• 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;
        }
    }
    

      

  • 相关阅读:
    H.264---(I、P、B帧)(I帧和IDR帧)(DTS和PTS、time_base)
    H.264---帧内预测编码和帧间预测编码
    H.264---编码架构分析
    视频编码技术---可分级视频编码
    Linux 进程通信
    mac 下使用 git && SourceTree
    mac 下安装 mongodb,Robommongodb
    mac 下 nginx的安装
    VPD(Virtual Private Database) 简单演示
    connect by prior start with
  • 原文地址:https://www.cnblogs.com/strive-19970713/p/11381363.html
Copyright © 2020-2023  润新知