两个链表的第一个公共节点
来源:互联网 发布:淘宝霏慕最出名模特 编辑:程序博客网 时间:2024/05/18 05:57
package Link; /** * @author wangpei * @version *创建时间:2017年3月24日 上午1:22:33 * 求两个链表的第一个公共子节点 * 对于链表1:a->b->c->n->p 2:v->k->n->p * 第一个公共子节点就是两个链表第一次相交的点 n * 思路:1.求链表1,2的长度len1,len2 * 2.对于长的链表,移动正数(len1-len2)位 * 3.同步比较链表1,2,求出相等的数值。 */public class FirstNodeOfPublic { public static void main(String[] args) { Linknode node1=new Linknode('a'); node1.next=new Linknode('b'); node1.next.next=new Linknode('c'); node1.next.next.next=new Linknode('n'); node1.next.next.next.next=new Linknode('p'); Linknode node2=new Linknode('v'); node2.next=new Linknode('k'); node2.next.next=new Linknode('n'); node2.next.next.next=new Linknode('p'); int length1=1; int length2=1; Linknode yu1=node1; Linknode yu2=node2; while(yu1.next!=null){//求链表1的长度 length1++; yu1=yu1.next; } while(yu2.next!=null){//求链表2的长度 length2++; yu2=yu2.next; } int move=0; if(length1>length2) {//对于长的链表进行移位 move=length1-length2; for(int i=0;i<move;i++) node1=node1.next; } else { move=length2-length1; for(int i=0;i<move;i++) node1=node1.next; } System.out.println(getFirstNodeOfPublic(node1,node2).val);//输出第一个公共节点的值 } public static Linknode getFirstNodeOfPublic(Linknode node1,Linknode node2){ if(node1.val==node2.val){ return node1; } if(node1==null||node2==null) return null; return getFirstNodeOfPublic(node1.next,node2.next); }}class Linknode{ Linknode next; char val; public Linknode(char val){ this.val=val; }}
0 0
- 两个链表的公共第一个公共节点
- 找到两个单向链表的第一个公共节点
- 找到两个单向链表的第一个公共节点
- 找到两个单向链表的第一个公共节点
- 两个单向链表的第一个公共节点
- 两个链表的第一个公共节点
- 寻找两个相交链表的第一个公共节点
- 两个链表的第一个公共节点
- 寻找两个相交链表的第一个公共节点
- 寻找两个相交链表的第一个公共节点
- 两个链表的第一个公共节点
- 两个链表的第一个公共节点
- 找出两个链表的第一个公共节点
- (LeetCode)两个链表的第一个公共节点
- 37 - 两个链表的第一个公共节点
- 两个链表的第一个公共节点
- 剑指offer-两个链表的第一个公共节点
- 两个链表的第一个公共节点
- 递归算法深入浅出一:递归理论概述和常见递归算法罗列
- sass入门
- win7操作小经验
- 华为机试在线训练——计算最后一个单词的长度
- codeforce 787A The Monster 两种解法
- 两个链表的第一个公共节点
- B. Not Afraid
- C. Dasha and Password(模拟,暴力)
- 【图像基础】相似性变换、放射变换与单应性
- Lua(三)
- 复选框全选/取消全选 获得选中的val id 以及删除tr 增加tr 简单详解
- 51nod 1034 骨牌覆盖 V3 | URAL 1594 Aztec Treasure
- [Android]emulator-5554 offline 问题
- 编写代码模拟三次密码输入的场景