JavaScript求链表的环大小
来源:互联网 发布:蒋勤勤的长相知乎 编辑:程序博客网 时间:2024/06/06 01:44
给定一个节点,它是一条链表的开始。
这个链表始终包含尾部和一个环,请求出这个环包含节点的数目。
如下面的图片所示:
思路:
遍历链表并且用一个标记来跟踪节点,如果遇到已标记的节点,则说明这是链表的环与尾部的交界处。
那么再次从尾节点遍历到该标记节点,得到尾部的大小。
用总大小减去尾部大小,得到环大小。
function Node(next) {this.next = next;}function loop_size(node) {var total = 0;var loopEntrance = null;var nonLoopSize = 0;var hasVisited = [];for (var cur = node; cur; cur = cur.next) {if (cur.hasVisited) {loopEntrance = cur;break;} else {hasVisited.push(cur);cur.hasVisited = true;total++;}}for (cur = node; cur !== loopEntrance; cur = cur.next) {nonLoopSize++;}//clear signalsfor (var i = 0; i < hasVisited.length; i++) {hasVisited[i]["hasVisited"] = false;}return total - nonLoopSize;}
0 0
- JavaScript求链表的环大小
- javascript 获取网页的大小
- javascript 获取浏览器的大小
- javascript 比较数组中值大小 jquery 多值的大小
- javascript 怎样比较日期/时间的大小
- javascript取得整张页面的大小
- JavaScript 获得页面区域大小的代码
- 利用javascript获得窗口的大小
- 利用javascript获得窗口的大小
- 一个比较日期大小的javascript函数
- JavaScript判断页面大小的函数
- javascript来判断客户端文件的大小
- JavaScript---控制图片加载后的大小
- Javascript中比较两个时间的大小
- 用javascript比较两个日期的大小
- javascript 读取图片文件的大小
- JavaScript判断上传文件的大小
- javascript弹出一个指定大小的窗口
- 集训第一周小结
- USACO 2016 FEBRUARY CONTEST, BRONZE PROBLEM 1. MILK PAILS
- 环信:发送头像和昵称(从消息扩展中获取)
- USACO 2016 February Contest, Bronze Problem 2. Circular Barn
- USACO 2016 February Contest, Bronze Problem 3. Load Balancing
- JavaScript求链表的环大小
- USACO 2016 February Contest, Silver Problem 2. Load Balancing
- USACO 2016 February Contest, Silver Problem 3. Milk Pails
- java积累——数据库手动控制事务工具类
- usaco2016open bronze1 diamond
- usaco2016open bronze3 reduce
- usaco2016open silver1 reduce
- usaco2016open silver2 diamond
- Linux改变进程优先级 linux Nice命令