两个链表的第一个公共结点
来源:互联网 发布:2016年驾校招生数据 编辑:程序博客网 时间:2024/06/11 18:00
输入两个链表,找出它们的第一个公共结点。
//因为最后一个null结点是公共的;所以后面部分就是公共的/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { int len1 = getLength(pHead1); int len2 = getLength(pHead2); if (len1 > len2) { pHead1 = walkStep(pHead1, len1-len2); } else { pHead2 = walkStep(pHead2, len2-len1); } while (pHead1 != null) { if (pHead1 == pHead2) return pHead1; pHead1 = pHead1.next; pHead2 = pHead2.next; } return null; } private ListNode walkStep(ListNode pHead, int step) { while (step != 0) { pHead = pHead.next; step--; } return pHead; } private int getLength(ListNode pHead) { if (pHead == null) return 0; int sum = 1; while (pHead.next != null) { pHead = pHead.next; sum++; } return sum; }}
阅读全文
0 0
- 找出两个链表的第一个公共结点--总结
- 找出两个链表的第一个公共结点
- 找两个链表的第一个公共结点
- 找出两个链表的第一个公共结点
- 找出两个链表的第一个公共结点
- 找出两个链表的第一个公共结点
- 找出两个链表的第一个公共结点
- 找出两个链表的第一个公共结点
- 两个链表的第一个公共结点
- 找出两个链表的第一个公共结点
- 两个链表的第一个公共结点
- 两个链表的第一个公共结点
- 两个链表的第一个公共结点
- 找两个链表的第一个公共结点
- 两个链表的第一个公共结点(剑指offer37)
- 【剑指offer】两个链表的第一个公共结点
- 题目1505:两个链表的第一个公共结点
- 两个链表的第一个公共结点
- 二叉树的深度
- Python入门记——函数
- [cnblogs镜像]Unity 脚本挂载位置
- 栈的应用
- [cnblogs镜像]Unity脚本生命周期 图解
- 两个链表的第一个公共结点
- [cnblogs镜像]Unity脚本中可以引用的类型
- C结构体的位域
- [cnblogs镜像]Unity局部坐标系与世界坐标系的区别
- [cnblogs镜像]Unity 控制public/private 是否暴露给Inspector面板
- 项目开发环境搭建手记(4.Maven私服Nexus安装及自动部署到Tomcat)
- Windows7-64bit下安装python、pip和opencv库
- Maven笔记
- [cnblogs镜像]unity 模型 材质 贴图 关系;着色器属性