找到单链表倒数第n个节点,保证链表中节点的最少数量为n。

样例

给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1.

分析:设两个指针 p1和p2,p1遍历到n-1的位置,p2从头开始遍历 当p1到链表尾部的时候,p2刚好到倒数n的位置

注意鲁棒性的考虑

/**
* Definition of ListNode
* class ListNode {
* public:
* int val;
* ListNode *next;
* ListNode(int val) {
* this->val = val;
* this->next = NULL;
* }
* }
*/
class Solution {
public:
/**
* @param head: The first node of linked list.
* @param n: An integer.
* @return: Nth to last node of a singly linked list.
*/
ListNode *nthToLast(ListNode *head, int n) {
// write your code here
if(head==NULL||n==0)
return NULL; ListNode *p1=head;
ListNode *p2=NULL;
for(int i=0;i<n-1;i++)
{
if(p1->next!=NULL)
{
p1=p1->next;
}
else
return NULL;
}
p2=head;
while(p1->next!=NULL)
{
p1=p1->next;
p2=p2->next;
}
return p2;
}
};

  

最新文章

  1. 浅谈一下关于iscroll的使用心得
  2. Android — — —动态添加碎片
  3. weave
  4. Delphi新语法和ifthen的扩展联想
  5. 15个Linux Yum命令实例--安装/卸载/更新
  6. POJ1159 Palindrome(数位DP)
  7. 算法 《秦九韶算法java实践》
  8. 自定义spring mvc的json视图
  9. Linux系统扩容根目录磁盘空间的操作方法
  10. 『高性能模型』HetConv: HeterogeneousKernel-BasedConvolutionsforDeepCNNs
  11. 框架、颜色、颜色名、脚本、字符实体、URL、速查列表
  12. Ubuntu开机时提示“piix4_smbus 0000:00:07.3: SMBus Host controller not enabled”
  13. 关于如何在ElementUI中实现统计Table筛选结果数量
  14. git push 提交某一个commit
  15. SecureCRT ssh连接linux操作系统(解决Ubutu密钥交换失败的问题)
  16. linux下mysql开启远程访问权限及防火墙开放3306端口(mysql开放host访问权限)
  17. MySQL忘记密码处理方法
  18. 海思HI35XX之----视频处理单元各通道间的关系
  19. Calf Flac
  20. C#中ReferenceEquals和Equals的区别

热门文章

  1. loj2494 [hnoi2018]寻宝游戏
  2. SpringData_04_ JPA中的一对多
  3. SPSS分析过程可自动化,你知道吗
  4. SpringBoot学习笔记(八):SpringBoot启动端口+访问路、SpringBoot配置文件yml、SpringBoot多环境区分、SpringBoot打包发布
  5. Java 使用JDBC连接MySQL
  6. 一行神奇的 javascript 代码
  7. jquery旋转插件rotate参数说明
  8. Android开发 Camera2开发_1_拍照功能开发
  9. Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)
  10. Kubernetes集群环境准备