博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode19- 删除链表的倒数第N个节点
阅读量:5031 次
发布时间:2019-06-12

本文共 1153 字,大约阅读时间需要 3 分钟。

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

示例:

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

说明:

给定的 n 保证是有效的。

进阶:

你能尝试使用一趟扫描实现吗?

代码:

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

运行结果:

转载于:https://www.cnblogs.com/cg-bestwishes/p/10726480.html

你可能感兴趣的文章
POST和GET有什么区别?
查看>>
js基础
查看>>
基础_模型迁移_CBIR_augmentation
查看>>
第二次寒假作业
查看>>
类与 对象 概念 break continue
查看>>
tensorRT使用python进行网络定义
查看>>
[转]从程序员到项目经理(三):认识项目经理
查看>>
深度分析如何在Hadoop中控制Map的数量
查看>>
dede判断当前文章
查看>>
mpvue学习笔记
查看>>
[LeetCode] 628. Maximum Product of Three Numbers_Easy
查看>>
[Java in NetBeans] Lesson 06. Custom classes
查看>>
[AngularFire2 & Firestore] Example for collection and doc
查看>>
[Javascript] The "this" keyword
查看>>
ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决
查看>>
sharepoint Report使用共享数据源部署报错
查看>>
C++ Primer 5th 第16章 模板与泛型编程
查看>>
22个Web 在线编辑器[转]
查看>>
解决“The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path”问题...
查看>>
GitHub本地上传代码教程
查看>>