Leetcode之打印链接的倒数第K个节点

举报
chenyu 发表于 2021/07/27 01:35:11 2021/07/27
【摘要】 1 问题 打印链表倒数第K个节点值。                       2 代码实现 #include<stdio.h> //定义一个Node结构体,里面包含了value值和保存了下一个Node的指针(地址)typed...

1 问题

打印链表倒数第K个节点值。

 

 

 

 

 

 

 

 

 

 

 

2 代码实现


  
  1. #include<stdio.h>
  2. //定义一个Node结构体,里面包含了value值和保存了下一个Node的指针(地址)
  3. typedef struct Node
  4. {
  5. int value;
  6. Node *next;
  7. } Node;
  8. //打印链表所有的值,循环遍历一次,因为链表节点的最后一个节点肯定是空,所以循环条件是node==NULL就终止循环
  9. void printList1(Node *head)
  10. {
  11. if (head == NULL)
  12. {
  13. printf("head is NULL\n");
  14. return;
  15. }
  16. while (head != NULL)
  17. {
  18. printf("value is %d\n", head->value);
  19. head = head->next;
  20. }
  21. }
  22. /**
  23. 打印链表的倒数第K个值,比如我们链接是0->1->2->3->4->5->6->NULLK2,我们知道这个倒数第二个值是5,我们怎么获取呢?定义2个节点指针,分别是叫快慢指针,我们先让快指针走K
  24. 也就是把快节点指针移动到值为2的地方,
  25. 0->1->2->3->4->5->6->NULL
  26. low fast
  27. 然后我们一起把low和fast向后移动,直到fast节点指向NULL为止,那么low节点的值就是我们需要找到的倒数第K个值
  28. 0->1->2->3->4->5->

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/113921419

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。