1. /*
  2. * 链表中查找倒数第K个结点.cpp
  3. *
  4. * Created on: 2018年5月1日
  5. * Author: soyo
  6. */
  7. #include<iostream>
  8. using namespace std;
  9. struct Node
  10. {
  11. int num;
  12. Node * next;
  13. };
  14. Node * creat()
  15. {
  16. Node *head=NULL;
  17. head=new Node;
  18. head->num=;
  19. head->next=NULL;
  20. return head;
  21. }
  22. Node * insert(Node *head,int x)
  23. {
  24. Node *p,*p2;
  25. p=new Node;
  26. p->num=x;
  27. p->next=NULL;
  28. p2=head;
  29. while(p2->next!=NULL)
  30. {
  31. p2=p2->next;
  32. }
  33. p2->next=p;
  34. return head;
  35. }
  36. void println(Node *head)
  37. {
  38. //cout<<head->next->next->num;
  39. if(head==NULL)
  40. return;
  41. while(head!=NULL)
  42. {
  43. cout<<head->num<<" ";
  44. head=head->next;
  45. }
  46. }
  47. Node* find_k_Num(Node *head,int k) //链表倒数第K个节点的值
  48. {
  49. if(head==NULL||k==)
  50. return NULL;
  51. Node *p1=NULL,*p2=NULL;
  52. p1=head;
  53. for(int i=;i<k-;i++)
  54. {
  55. if(p1->next!=NULL) //防止 K比链表的长度还大 出现访问空指针
  56. p1=p1->next;
  57. else
  58. return NULL;
  59. }
  60. p2=head;
  61. while(p1->next!=NULL)
  62. {
  63. p1=p1->next;
  64. p2=p2->next;
  65. }
  66. return p2;
  67.  
  68. }
  69. int main()
  70. {
  71. int a[]={,,,,};
  72. Node *head;
  73. head=creat();
  74. for(int i=;i<;i++)
  75. {
  76. head=insert(head,a[i]);
  77. }
  78. println(head);
  79. int x;
  80. cin>>x;
  81. Node *findNode=find_k_Num(head,x);
  82. cout<<"倒数第"<<x<<"个结点为:"<<findNode->num<<endl;
  83.  
  84. }

结果:


  1. 倒数第3个结点为:2

链表中获取倒数第K个结点的更多相关文章

  1. 在单链表和双链表中删除倒数第k个结点

    题目: 分别实现两个函数,一个可以删除单链表中倒数第K个节点,另一个可以删除双链表中倒数第K个节点. 要求: 如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1). 解答: 让链表从头 ...

  2. 链表中的倒数第k个结点

    题目描述 输入一个链表,输出该链表中倒数第k个结点.   基本思想:定义两个指针a,b分别指向头节点, a指针先向前走k-1步(注意:因为倒数节点是从倒数第一个结点开始的,而不是零),然后a指针和b指 ...

  3. [算法]在单链表和双链表中删除倒数第k个结点

    题目: 分别实现两个函数,一个可以删除单链表中倒数第K个节点,另一个可以删除双链表中倒数第K个节点. 要求: 如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1). 解答: 让链表从头 ...

  4. 【剑指offer】链表中的倒数第k个结点

    输入一个链表,输出该链表中倒数第k个结点. 分析: 定义两个结点p1和p2都指向头节点,p1先走k-1步,然后p1和p2一起走,当p1走到链表尾部时,p2指向的结点就是倒数第k个结点 遍历一遍链表即可 ...

  5. 6.查找单链表中的倒数第k个结点

    普通思路:先将整个链表从头到尾遍历一次,计算出链表的长度size,得到链表的长度之后,就好办了,直接输出第(size-k)个节点就可以了(注意链表为空,k 为0,k为1,k大于链表中节点个数时的情况) ...

  6. python经典算法面试题1.5:如何找出单链表中的倒数第K个元素

    本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. [微软笔试题] 难度系数:⭐⭐⭐ 考察频率:⭐⭐⭐⭐⭐ 题目描 ...

  7. 在单链表和双链表中删除倒数第K个节点

    [说明]: 本文是左程云老师所著的<程序员面试代码指南>第二章中“在单链表和双链表中删除倒数第K个节点”这一题目的C++复现. 本文只包含问题描述.C++代码的实现以及简单的思路,不包含解 ...

  8. 《程序员代码面试指南》第二章 链表问题 在单链表和双链表中删除倒数第K个节点

    题目 在单链表和双链表中删除倒数第K个节点 java代码 /** * @Description:在单链表和双链表中删除倒数第K个节点 * @Author: lizhouwei * @CreateDat ...

  9. 链表习题(8)-寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下

    /*寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下*/ /* 算法思想:定义两个指针,pre指向前驱结点,p指向当前结点,当p->data == k的时候,交换 p ...

随机推荐

  1. API调用开发demo

    package fastjson; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStrea ...

  2. 《Java虚拟机原理图解》 1.2.3、Class文件中的常量池详解(下)

    CONSTANT_Fieldref_info, CONSTANT_Name_Type_info) 一般而言,我们在定义类的过程中会定义一些 field 字段,然后会在这个类的其他地方(如方法中)使用到 ...

  3. Info.plist 的字段解释

    bundle字段 这些字段名都是XML中的名称,在xcode的属性编辑器中,名字并不相同 bundle目录中的属性列表详细描述了有关该bundle的信息.Finder和一些系统API在一些情况下会使用 ...

  4. iOS App 项目:会员卡管理系统设计方案

    1.需求描写叙述 店主须要管理自己的会员信息和充值卡信息以及消费纪录 店主觉得购买电脑和外设成本太高,并且店面没有地方容纳这些设备 店主希望通过手机来完毕这些功能.但尽量不产生流量.对网络要求较低 店 ...

  5. eclipse 配置执行hadoop 2.7 程序样例參考步骤

    前提:你搭建好了hadoop 2.x的linux环境,并可以成功执行.还有就是window可以訪问到集群.over 1. hfds-site.xml 添加属性:关闭集群的权限校验.windows的用户 ...

  6. 《Getting Started with WebRTC》第二章 WebRTC技术介绍

    <Getting Started with WebRTC>第二章 WebRTC技术介绍 本章作WebRTC的技术介绍,主要讲下面的概念:   .  怎样建立P2P的通信   .  有效的信 ...

  7. pdf reference 格式具体说明

    1. PDF概要 1.1. 图像模型 PDF能以平台无关.高效率的方式描叙复杂的文字.图形.排版. PDF 用图像模型来实现设备无关. 图像模型同意应用程序以抽象对象描叙文字.图像.图标.而不是通过详 ...

  8. UnsatisfiedLinkError: No implementation found for , AndroidStudio使用*.so

    今天工作的时候.发现了一个jni的问题,java.lang.UnsatisfiedLinkError: No implementation found for...... 问题1:后来查了资料后发现. ...

  9. HDU 6138 Fleet of the Eternal Throne 后缀数组 + 二分

    Fleet of the Eternal Throne Problem Description > The Eternal Fleet was built many centuries ago ...

  10. hibernate 的POJO状态

    瞬时状态 刚new出来的对象,还没和session发生联系,或者delete之后的对象 持久化状态 用save,get等方法保存或获取到session中的对象,和数据保持一一对应的关系 脱管状态 对象 ...