这也是一个常见的问题,一个数形结构的数据,需要依次查找到每一个叶子节点。
如:这里使用数组结构,需要查找遍历出叶子结点1
2
3
4
5
6/* GLOBAL js */
window.treeArr = [
[2,[3, [4,5,6]],[7,[8],9,[10, [11]]]],
[20, [21,22,[23,[24]]]],
[[30,31],[32]]
];
递归
最容易想到的方案就是使用递归了。
1 | function queryLeafNode(data) { |
每个节点依次判断是否为根节点,直到根节点为止,也就是
深度优先
队列
队头删除操作,队尾进行插入,实现为 广度优先
1 | function queryLeafNode(data) { |
栈
在一端插入和删除数据,实现为 深度优先
1 | function queryLeafNode(data) { |