打印链表的有效节点、打印链表的倒数第K个结点

打印链表的有效节点:就是链表的长度呗,从头结点开始遍历,下一个节点不是null就计数器加1

public int getLength(Node head){
        Node temp = head;
        int length = 0;
        if (head.next == null){
            System.out.println("链表为空");
        }else {
            while (temp.next != null){
                length++;
                temp = temp.next;
            }
        }
        return length;
    }

打印链表的倒数第K个结点:先算出链表长度,从头遍历 长度-K 就是第K个结点

public Node getLastK(Node head,int K){
        int size = getLength(head);
        Node cur = head.next;
        if (head == null){
            return null;
        }
        if (K <=0 || K > size){
            return null;
        }
        for (int i = 0; i<size - K;i++){
            cur = cur.next;
        }
        return cur;
    }

 

posted @ 2020-07-18 21:54  硬盘红了  阅读(153)  评论(0编辑  收藏  举报