28.输入两个链表,找出它们的第一个公共结点。
来源:互联网 发布:java localdate 编辑:程序博客网 时间:2024/06/10 04:35
题目描述
输入两个链表,找出它们的第一个公共结点。
解题思路:先求两个链表的长度,决定让哪一个链表先走,然后在判断节点是否相等;
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { if(pHead1==null||pHead2==null){ return null; } int count1 = 0; ListNode p1 = pHead1; while(p1!=null){ p1 = p1.next; count1++; } int count2 = 0; ListNode p2 = pHead2; while(p2!=null){ p2 = p2.next; count2++; } int flag = count1 - count2; if(flag>0){ while(flag>0){ pHead1 = pHead1.next; flag--; } while(pHead1!=pHead2){ pHead1 = pHead1.next; pHead2 = pHead2.next; } return pHead1; } if(flag<=0){ while(flag<0){ pHead2 = pHead2.next; flag++; } while(pHead1!=pHead2){ pHead2 = pHead2.next; pHead1 = pHead1.next; } return pHead2; } return null; }}
阅读全文
0 0
- 28.输入两个链表,找出它们的第一个公共结点。
- 输入两个链表,找出它们的第一个公共结点。
- 【剑指offer】输入两个链表,找出它们的第一个公共结点。
- 输入两个链表,找出它们的第一个公共结点
- 题目:输入两个链表,找出它们的第一个公共结点
- 输入两个链表,找出它们的第一个公共结点
- 输入两个链表,找出它们的第一个公共结点
- 输入两个链表,找出它们的第一个公共结点。
- 输入两个链表,找出它们的第一个公共结点
- 输入两个链表,找出它们的第一个公共结点。
- 输入两个链表,找出它们的第一个公共结点
- 剑指offer:两个链表的第一个公共结点输入两个链表,找出它们的第一个公共结点。
- 两个单向链表,找出它们的第一个公共结点
- 两个单向链表,找出它们的第一个公共结点
- 两个单向链表,找出它们的第一个公共结点
- 两个单向链表,找出它们的第一个公共结点。
- 两个单向链表,找出它们的第一个公共结点。
- 两个单向链表,找出它们的第一个公共结点
- storm 通用模板
- LBaas之(四)Neutron/LBaaS/API
- 使用ESP8266WIFI模块心得
- 深度前馈网络【DeepLearningBook读书笔记】
- 【spring】事务
- 28.输入两个链表,找出它们的第一个公共结点。
- java实现全排列
- 降噪 (Noise Reduction)对于图像边缘检测 (Edge Detection)的意义
- 手动实现arcgis的PrintTask
- HTTP协议详解
- JSP基础元素
- iOS设置导航栏navigationBar大小、颜色、透明度等一切操作(WRNavigationBar)
- 第十三章:事件类型(HTML5事件、设备事件、触摸与手势事件)
- Java中的抽象接口类,你还知道哪个?