剑指offer 两个链表的第一个公共结点
来源:互联网 发布:mac os ps 破解版 编辑:程序博客网 时间:2024/05/19 16:04
题目描述
输入两个链表,找出它们的第一个公共结点。
/** * 遍历两个链表得到它们的长度 * 第二次遍历,在较长的链表上先走若干步,接着同时在两个链表上遍历 * @param pHead1 * @param pHead2 * @return */ public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { int len1 = getListLength(pHead1); int len2 = getListLength(pHead2); int len = len1 - len2; ListNode pHeadLong = pHead1; ListNode pHeadShort = pHead2; if (len2 > len1) { pHeadLong = pHead2; pHeadShort = pHead1; len = len2 - len1; } for (int i = 0; i < len; i++) { pHeadLong = pHeadLong.next; } while (pHeadLong != null && pHeadShort != null) { if (pHeadLong == pHeadShort) { break; } pHeadLong = pHeadLong.next; pHeadShort = pHeadShort.next; } return pHeadLong; } public int getListLength(ListNode head) { int len = 0; ListNode ptr = head; while (ptr != null) { ++len; ptr = ptr.next; } return len; }
0 0
- 【剑指offer】两个链表的第一个公共结点
- 剑指offer--两个链表的第一个公共结点
- 《剑指offer》两个链表的第一个公共结点
- 剑指offer 两个链表的第一个公共结点
- 剑指offer:两个链表的第一个公共结点
- [剑指offer]两个链表的第一个公共结点
- 剑指offer---两个链表的第一个公共结点
- 剑指offer|两个链表的第一个公共结点
- 剑指offer-两个链表的第一个公共结点
- 《剑指offer》-两个链表的第一个公共结点
- 剑指Offer: 两个链表的第一个公共结点
- 剑指offer:两个链表的第一个公共结点
- 剑指offer 两个链表的第一个公共结点
- 剑指offer--两个链表的第一个公共结点
- 剑指offer:两个链表的第一个公共结点
- 剑指Offer------两个链表的第一个公共结点
- 剑指offer--两个链表的第一个公共结点
- 剑指offer---两个链表的第一个公共结点
- css样式表<style>元素里面的*符号代表声明意思?
- 多线程下HashMap的死循环问题
- 华工校赛 F. Bracket Sequence
- 【Spring】Spring MVC原理及配置详解
- IOS 读二进制数据文件
- 剑指offer 两个链表的第一个公共结点
- ubuntu14.04中改变文件夹的图标
- jQuery EasyUI使用教程之创建简单窗口
- [转] CocoaPods详解之----使用篇
- 测试验证datatime字段是否走索引
- sqlserver 用 STUFF 和 for xml path 把查询结果连接成字符串
- POJ 3468-A Simple Problem with Integers(区间更新线段树)
- <!DOCTYPE html>重要性
- BootStrap响应式导航条