// 实现一个深度优先搜索算法(非递归) function dfs(tree, name) { // 请在这里实现 } var tree = { name: '中国', children: [{ name: '北京', children: [{ name: '朝阳群众' }, { name: '海淀区' }, { name: '昌平区' } ] }, { name: '浙江省', children: [{ name: '杭州市', code: '0571', }, { name: '嘉兴市' }, { name: '绍兴市' }, { name: '宁波市' } ] } ] }; function dfs(tree, name) { // 请在这里实现 let temp = []; temp.push(tree); while (temp.length !== 0) { const now = temp[temp.length - 1]; if (!now.__childrenVisited && now.children && now.children.length > 0) { now.__childrenVisited = true; temp = temp.concat(now.children); } else { temp.pop(); if (now.name === name) { return now; } } } }
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com

文章标题:

文章字数:122

本文作者:泽鹿

发布时间:2019-07-29, 11:52:23

最后更新:2019-07-30, 17:02:16

原始链接:http://panyifei.github.io/2019/07/29/前端面试/代码/树/非递归深度遍历/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏