美文网首页
找出单链表倒数第N个

找出单链表倒数第N个

作者: 1ff5a98e5398 | 来源:发表于2019-01-20 17:05 被阅读15次

思路

记录两个头结点A,B。
A先走N步,然后AB一起走,知道A走到末尾。去除B的next既是倒数第N个。

代码

public static Node searchLast(Node node, int lastNum) {
        Node headNode = node;
        for (int i = 0; i < lastNum; i++) {
            node = node.next;
        }
        while (node.next != null) {
            node = node.next;
            headNode = headNode.next;
        }
        return headNode.next;
}

其余代码

    /**
     * 初始化
     *
     * @return
     */
    public static LinkList init() {
        LinkList linkList = new LinkList();
        linkList.head = new Node();
        // 记住头结点
        Node h = linkList.head;
        for (int i = 0; i < 10; i++) {
            linkList.head.data = i;
            // 不初始化尾节点
            if (i < 9) {
                linkList.head.next = new Node();
                linkList.head = linkList.head.next;
            }
        }
        linkList.head = h;
        return linkList;
    }

    public static class Node {

        int data;

        Node next;

    }

    public static class LinkList {

        Node head;
    }

相关文章

  • [链表] 查找单链表中的倒数第k个元素

    1、为了找出倒数第k个元素,最容易想到的办法是首先遍历一遍单链表,求出整个单链表的长度n,然后将倒数第k个,转换为...

  • 找出单链表倒数第N个

    思路 记录两个头结点A,B。A先走N步,然后AB一起走,知道A走到末尾。去除B的next既是倒数第N个。 代码 其余代码

  • 166. 链表倒数第n个节点

    166. 链表倒数第n个节点 描述 笔记 数据 评测 找到单链表倒数第n个节点,保证链表中节点的最少数量为n。 您...

  • 链表倒数第n个节点

    链表倒数第n个节点找到单链表倒数第n个节点,保证链表中节点的最少数量为n。题目地址注意点:1、dummy_node...

  • 常见算法总结

    链表 单链表反转链表中环的检测两个有序的链表合并删除链表倒数第 n 个结点求链表中间第n个节点

  • 单链表

    单链表 单链表问题与思路 找出单链表的倒数第K个元素(仅允许遍历一遍链表)使用指针追赶的方法。定义两个指针fast...

  • 1.5 如何找出单链表中倒数第k个元素

    题目 找出单链表中倒数第k个元素,例如给定1>2>3>4>5>6>7,则单链表中的倒数第k=3个元素为5.

  • 删除单链表倒数第n个节点

    基本问题 如何删除单链表中的倒数第n个节点? 常规解法 先遍历一遍单链表,计算出单链表的长度,然后,从单链表头部删...

  • 链表

    链表 单链表反转链表中环的检测两个有序链表合并删除链表倒数第n个节点求链表的元素总个数 一.单向链表 链表共有特征...

  • leecode刷题(21)-- 删除链表的倒数第N个节点

    leecode刷题(21)-- 删除链表的倒数第N个节点 删除链表的倒数第N个节点 描述: 给定一个链表,删除链表...

网友评论

      本文标题:找出单链表倒数第N个

      本文链接:https://www.haomeiwen.com/subject/hmoxjqtx.html