码农小汪-剑指Offer之34 -两个链表的第一个公共结点 hashMap
2016-04-05 15:59
337 查看
题目描述
输入两个链表,找出它们的第一个公共结点。解题思路如下:
我解题的思路:1. 利用Map保存每个节点的值,和对应的ListNode。先遍历我们的第一个链表,然后再让第二个链表在map中去寻找值,是否能寻找得到呢?
package JianzhiOffer; import java.util.HashMap; import java.util.Map; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public class Slution34 { /** * 利用Map做 * * @param pHead1 * @param pHead2 * @return */ public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { if (pHead1 == null || pHead2 == null) { return null; } Map<ListNode, Integer> map = new HashMap<ListNode, Integer>(); while (pHead1 != null) { map.put(pHead1, pHead1.val); pHead1 = pHead1.next; } while (pHead2 != null) { if (map.containsValue(pHead2.val)) { return pHead2; } pHead2 = pHead2.next; } return null; } }
相关文章推荐
- 面试注意事项
- 2016-4-05阿里电话面试
- 困了,累了,职业倦怠期来了
- 困了,累了,职业倦怠期来了
- 国外程序员整理的机器学习资源大全
- 每个程序员都应该知道的 16个最佳 PHP 库
- 要学!要会!!要练!!!--程序员笔试面试知识梳理
- 如何用10只实验鼠检测出1000个药瓶中哪个有毒药?
- 开发无框架单页面应用 — 老码农的祖传秘方
- Java面试题大全(四)
- Java面试题大全(三)
- Java面试题大全(二)
- [JSOI2009]面试的考验 解题报告
- LeetCode之旅(22)-House Robber
- Java面试题大全(一)
- 关于测试人员的职业发展
- 从程序员到CTO的Java技术路线图
- 北美公司面试经验笔记
- 面试题25 二叉树中和为某一值的路径
- fir.im Weekly - 如何做一个出色的程序员