树的遍历
一般树
不妨假设每个结点的值是一个字符串
A
/ | \
B C D
/| |
E F G
/|\
H I J
type TreeNode struct {
Children []*TreeNode
Val string
}
也可以用数组或哈希表来代表结点,如Trie前缀树的一个实现及树的路径和问题探讨中getPath函数的入参relations
二叉树
对于二叉树,DFS又可细分为前序、中序、后序遍历
限定条件遍历
在遍历时,可以有一些限定条件,比如统计从根结点到叶子结点路径和为定值的路径;
这里可以增加额外辅助数据结构如栈来记录路径,同时做好回溯。
参考树的路径和问题探讨