剑指offer---两个链表的第一个公共结点
2016-06-24 00:23
441 查看
题目描述
输入两个链表,找出它们的第一个公共结点。
首先,想到的解题思路是:让第一个链表的每一个数和第二个链表的每一个数作比较,找出第一个相等的节点。
完整代码:
输入两个链表,找出它们的第一个公共结点。
首先,想到的解题思路是:让第一个链表的每一个数和第二个链表的每一个数作比较,找出第一个相等的节点。
完整代码:
public class FindFirstCommonNode { public static class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public static void main(String[] args) { ListNode head = new ListNode(1); head.next = new ListNode(2); head.next.next = new ListNode(3); head.next.next.next = new ListNode(4); head.next.next.next.next = new ListNode(5); ListNode head2 = new ListNode(2); head2.next = new ListNode(3); head2.next.next = new ListNode(5); head2.next.next.next = new ListNode(4); FindFirstCommonNode(head, head2); } public static ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { if (pHead1 == null || pHead2 == null) { return null; } //遍历pHead1, 让他的每一个数都和pHead2比较一次 while (pHead1 != null) { //pHead1当前值 int pv1 = pHead1.val; //把pHead2赋给一个临时链表, 让pv1去和临时链表比较 ListNode p2 = new ListNode(0); p2 = pHead2; while (p2 != null) { int pv2 = p2.val; if (pv1 == pv2) { System.out.println(pHead1.val); return pHead1; } p2 = p2.next; } pHead1 = pHead1.next; } return null; } }
相关文章推荐
- jQuery Ajax
- JavaScript-----判断是否为手机浏览器访问
- JS内置对象
- 变态javascript测试题
- javascript类型系统——正则表达式RegExp类型
- Html Vedio标签全屏
- javascript类型系统_正则表达式RegExp类型详解
- javascript弹出窗口中增加确定取消按钮
- js动态获取子复选项并设计全选及提交的实现方法
- 老生常谈 关于JavaScript的类的继承
- AngularJS 路由和模板实例及路由地址简化方法(必看)
- JS实现iframe自适应高度的方法(兼容IE与FireFox)
- JS针对浏览器窗口关闭事件的监听方法集锦
- jQuery如何获取动态添加的元素
- JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
- jQuery模仿单选按钮选中效果
- jQuery给div,Span, a ,button, radio 赋值与取值
- jQuery设置单选按钮radio选中/不可用的实例代码
- jQuery插件扩展extend的简单实现原理
- JS控制文本域只读或可写属性的方法