剑指offer系列之五十九:链表中环的入口节点
2015-12-18 15:52
295 查看
题目描述
一个链表中包含环,请找出该链表的环的入口结点。
此题的思路其实 很简单,之所以出现环,是因为在整个链表中出现了重复的节点,而遇到的第一个重复的节点就是环的入口节点。所以可以使用Set来保存遍历到的节点,因为Set集合是不允许出现重复元素的,所以当一个节点被第二次添加的时候,往Set中放元素是失败的。所以可以利用这一点找出第一个重复的元素。基于这种思路的代码比较简洁,代码如下(已被牛客AC):
一个链表中包含环,请找出该链表的环的入口结点。
此题的思路其实 很简单,之所以出现环,是因为在整个链表中出现了重复的节点,而遇到的第一个重复的节点就是环的入口节点。所以可以使用Set来保存遍历到的节点,因为Set集合是不允许出现重复元素的,所以当一个节点被第二次添加的时候,往Set中放元素是失败的。所以可以利用这一点找出第一个重复的元素。基于这种思路的代码比较简洁,代码如下(已被牛客AC):
import java.util.HashSet; import java.util.Set; public class Solution { public ListNode EntryNodeOfLoop(ListNode pHead) { Set<ListNode> set = new HashSet<ListNode>(); while(pHead!= null && set.add(pHead)){ pHead = pHead.next; } return pHead; } }
相关文章推荐
- jQuery打字效果实现方法(附demo源码下载)
- Sublime text及package control插件下载安装
- jquery easy ui Tree详解
- css3 弹性盒子
- JavaScript中函数参数的值传递和引用传递
- 剑指offer系列之五十八:删除链表中重复的节点
- 关于前端响应式布局理解
- bootstrap学习
- CSS background 之设置图片为背景技巧
- VBScript把json字符串解析成json对象的2个方法
- JS完美运动框架详解——原理分析及demo
- HTML事件属性
- JS导出gridview到excel
- jQuery中trigger()与bind()用法分析
- 剑指offer系列之五十七:二叉树的下一个节点
- Ext.js5用XML数据做的表(12)
- JQuery中阻止事件冒泡方式及其区别
- JAVA的StringBuffer类
- jsp中的basePath和path
- 用Eclipse调试Node.js代码