zoukankan      html  css  js  c++  java
  • 单链表倒数第K个节点的查找和显示

    1.使用一个固定长度队列装链表段,当遍历到链表根时,返回队列头元素。

    class Node{
        int value;
        Node next;
        public Node(int value){
            this.value=value;
        }
    }
    public class Danlianbiao {
        public static void main(String[] args) {
            Node node=new Node(1);
            Node node2=node.next=new Node(2);
            Node node3=node2.next=new Node(3);
            Node node4=node3.next=new Node(4);
            Node node5=node4.next=new Node(5);
            Node node6=node5.next=new Node(6);
            Node node7=node6.next=new Node(7);
            Node node8=node7.next=new Node(8);
            System.out.println(getLast(node, 9));
        }
        public static int getLast(Node node,int n){
            LinkedList<Integer> ll=new LinkedList<>();
            Node temp=node;
            while(true){
                if(temp.next==null){
                    break;
                }else{
                    ll.add(temp.value);
                    if(ll.size()>n){
                        ll.removeFirst();
                    }
                    temp=temp.next;
                }
            }
            return ll.size()==0?temp.value:ll.get(0);
        }
    }

     2.使用2个指针,一个指针用作查找最后的元素,另一个指针保持与前一个指针固定间距向前移动。当第一个指针到尾节点是,返回第二个指针指向的元素value;

        public static int getLast1(Node node,int n){
            Node temp=node;
            Node p=node;
            int  count=0;
            while(true){
                if(temp.next==null){
                    break;
                }else{
                    temp=temp.next;
                    count++;
                    if(count>=n){
                        p=p.next;
                    }
                }
            }
            return p.value;
        }
  • 相关阅读:
    Javascript笔记部分
    JQuery学习笔记(3)
    WPF中批量进行验证操作
    学习sqlserver的函数方法
    .NET学习笔记(2)
    Asp.Net页面生命周期
    ThreadLocal
    NIO内存映射
    CAS基础和原子类
    Java锁概念基础
  • 原文地址:https://www.cnblogs.com/mryangbo/p/10798650.html
Copyright © 2011-2022 走看看