华为机试——单向链表倒数第k个结点
来源:互联网 发布:汇编语言编程 编辑:程序博客网 时间:2024/06/03 15:35
题目:输出单向链表中倒数第k个结点
输入一个单线链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针。
#include<iostream>using namespace std;struct LNode{ int m_data; LNode* m_pNext;};LNode* FindKthToTail(LNode* pListHead,int k){ if(pListHead==NULL||k<=0) return NULL; LNode *pAhead=pListHead; LNode *pBehind=pListHead; for(int i=0;i<k-1;i++) { if(pAhead->m_pNext!=NULL) { pAhead=pAhead->m_pNext; } else { return NULL;//节点数小于k } } while(pAhead->m_pNext!=NULL) { pAhead=pAhead->m_pNext; pBehind=pBehind->m_pNext; } return pBehind;}void main(){ LNode *p,*q,*p1; int num,k; cin>>num; p=new LNode; p->m_pNext=NULL; p1=p; for(int i=0;i<num;i++) { q=new LNode; cin>>q->m_data; p->m_pNext=q; p=q; } p->m_pNext=NULL; cin>>k; LNode *head=p1->m_pNext; FindKthToTail(head,k);}
0 0
- 华为机试——单向链表倒数第k个结点
- 华为机试在线训练-牛客网(26)输出单向链表中倒数第k个结点
- 华为OJ——输出单向链表中倒数第k个结点
- 华为OJ——输出单向链表中倒数第k个结点
- 华为OJ:输出单向链表中倒数第k个结点
- 【华为oj】输出单向链表中倒数第k个结点
- 华为oj:输出单向链表中倒数第k个结点
- 华为oj_输出单向链表中倒数第k个结点
- 华为oj 输出单向链表中倒数第k个结点
- 【华为OJ】输出单向链表中倒数第k个结点
- 单向链表倒数k个结点
- 链表倒数第k个结点
- 华为OJ基础篇-输出单向链表中倒数第k个结点
- 华为OJ基础篇-输出单向链表中倒数第k个结点
- 【华为OJ】【035-输出单向链表中倒数第k个结点】
- 华为OJ 初级:输出单向链表中倒数第k个结点
- 华为OJ 初级 输出单向链表中倒数第k个结点
- 华为oj 初级 输出单向链表中倒数第k个结点
- 华为机试——判断两个IP时候属于同一个子网
- 各级数整理
- 编程基础学习地址收藏
- selector之按钮状态图片改变
- base64 编码图片
- 华为机试——单向链表倒数第k个结点
- Raspberry - First Step
- 堆和栈的区别
- iOS中的沙盒及对沙盒内文件的常见操作
- javascript基础二
- Android 在EditText多行输入框中确定光标所在行
- IOS UIControl、UIButton
- 原码、反码与补码详解
- php不输出文字格式