美文网首页
求单链表倒数第k个节点

求单链表倒数第k个节点

作者: ios周周 | 来源:发表于2019-09-28 23:10 被阅读0次

思路:

定义两个指针,从链表首元结点开始第一个指针先向前走 k-1 步,然后两个指针一起向前遍历,直到第一个指针到达链表的尾结点,此时第二个指针所指的结点即为所求

特殊情况判断:

1 链表结点总数小于k

2 k为0

3 链表为null

LNode*getReverseKNode(LinkList list,int k)

{

    if(list==NULL||k==0) {

        return NULL;

    }

    LNode*temp = list;

    for(int i=0; i<k-1;i++) {

        if(temp->next==NULL) {

            returnNULL;

        }

        temp=temp->next;

    }

    LNode*result = list;

    while(temp->next!=NULL) {

        temp=temp->next;

        result = result->next;

    }

    printf("result =%d",result->data);

    return result;

}

相关文章

  • 单向链表算法

    单向链表 反转单向链表 单链表查找倒数第k个节点 单链表递归倒序打印 单链表排序 单链表删除重复节点

  • 单链表常见面试题

    统计单链表中有效节点的个数 查找单链表中的倒数第k个节点(Sina) 单链表的反转(Tencent) 从尾到头打印...

  • 2022-02-23 链表专栏

    链表基础 类别 1、合并两个有序链表2、合并 k 个有序链表3、寻找单链表的倒数第 k 个节点4、寻找单链表的中点...

  • 链表问题集锦

    1.单链表的初始化,输出以及插入删除的基本操作 2.在O(1)时间删除链表节点 3.反转单链表 4.求链表倒数第k...

  • 链表向右旋转k个位置

    问题描述: 将单链表向右旋转k个位置 思路:1. 找到链表倒数第k+1个节点和尾节点; 2. 原链表的尾节点指向首...

  • 在单链表和双链表中删除倒数第k个节点

    【题目】分别实现两个函数,一个可以删除单链表中倒数第k个节点,另一个可以删除双链表中倒数第k个节点。【解析】先来分...

  • 链表面试题

    1.链表反转 2.倒序输出链表 3.输出链表中倒数第 k 个节点,k从1开始计数。 4.删除单链表指定节点 5.查...

  • 链表中倒数第k个节点

    《剑指offer》面试题22:代码中倒数第k个节点 题目:输入一个单链表,输出该链表中倒数第k个结点。 思路:定义...

  • 常见算法总结

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

  • 2018-07-26

    合并有顺序的数组 打印两个有序链表的公共部分 在单链表和双链表中删除倒数第k个节点 单链表 双链表 删除链表的中间...

网友评论

      本文标题:求单链表倒数第k个节点

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