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;
        }
  • 相关阅读:
    软工课设第一周周五报告
    软工课设第一周周四报告
    软工课设第一周周三报告
    软工课设第一周周二报告
    软工课设第一周周一报告
    团队项目记录4
    团队项目记录3
    团队项目记录2
    jQuery 打气球小游戏 点击气球爆炸效果
    计网第二章:物理层
  • 原文地址:https://www.cnblogs.com/mryangbo/p/10798650.html
Copyright © 2011-2022 走看看