zoukankan      html  css  js  c++  java
  • 2020年3月16日算法练习

     代码如下

    package com.qyx.test;
    public
    class removeListNodeRev { /** * 删除单向链表中的倒数第n个链表 * 使用双指针算法,可以实现一次遍历即可删除 * 方案如下: * 第一个节点先走了n+1步,第二个节点停着,那么他们两个就差了n+1步, * 然后进行遍历,直到第一个节点遍历到尾部,第二个节点遍历的位置距离尾部就是n+1; * 因为在之后的移动中,他们是一起移动的 */ public ListNode removeNthFromEnd(ListNode head, int n) { ListNode dummy=new ListNode(0); dummy.next=head; ListNode first=dummy; ListNode second=dummy; for(int i=1;i<=n+1;i++) { first=first.next; } while(first!=null) { first.next=first; second.next=second; } second.next=second.next.next; return dummy.next; } /** * 单指针 ,实现两次遍历即可删除、 * 添加哑结点 * L-n+1节点就是我们要删除的节点 */ public ListNode removeNthFromEnd02(ListNode head, int n) { ListNode dummy = new ListNode(0); dummy.next=head; int length = 0; ListNode first=head; while (first != null) { length++; first = first.next; } length-=n; first=dummy; while (length > 0) { length--; first = first.next; } first.next = first.next.next; return dummy.next; } } class ListNode { int val; ListNode next; ListNode(int x) { val = x; } }
  • 相关阅读:
    不做男女朋友,做蓝颜吧
    前端 让我尴尬~
    让IE6,IE7,IE8,IE9支持CSS3
    解决chrome不能显示12PX以下字号的字体问题!
    jQuery阻止冒泡和HTML默认操作
    Lazy Load, 延迟加载图片
    解秘微软雅黑
    FLV流媒体应用大攻略
    提升你设计水平的CSS3新技术
    分享下自写的HTML CSS规范
  • 原文地址:https://www.cnblogs.com/qyx66/p/12507186.html
Copyright © 2011-2022 走看看