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

    1 题目

    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.

    2 思路

    题目要求遍历一遍搞定,那么,就可以用两个指针,先第一个先往前走N个,然后再一起走,最后,移除后一个元素。自己做出来的。。

    3 代码

            public ListNode removeNthFromEnd(ListNode head, int n) {
                ListNode node = head;
                while(n>0 && node!=null){
                    node = node.next;
                    n--;
                }
                ListNode start = head;
                if(node != null){
                    while(node.next != null){
                        node = node.next;
                        start = start.next;
                    }
                }else{
                    /* will remove the first object */
                    start = start.next;
                    return start;
                }
                
                start.next = start.next.next;
                return head;
            }
  • 相关阅读:
    CASE WHEN用法
    BOS消息对话框
    BOS自定义等待窗口
    自定义F7
    BOS接口开发
    BOS开发-增删改查
    金蝶BOS工作流
    金蝶KDTable常用代码
    BOS开发常用代码
    Jenkins2 入门到精通(学习资料)
  • 原文地址:https://www.cnblogs.com/lingtingvfengsheng/p/4779323.html
Copyright © 2011-2022 走看看