树的遍历

树的遍历

一般树

不妨假设每个结点的值是一个字符串

              A
            / | \
           B  C  D
          /|     |
         E F     G
        /|\
       H I J
type TreeNode struct {
	Children []*TreeNode
	Val string
}

也可以用数组或哈希表来代表结点,如Trie前缀树的一个实现树的路径和问题探讨中getPath函数的入参relations

二叉树

对于二叉树,DFS又可细分为前序、中序、后序遍历

限定条件遍历

在遍历时,可以有一些限定条件,比如统计从根结点到叶子结点路径和为定值的路径;
这里可以增加额外辅助数据结构如栈来记录路径,同时做好回溯。
参考树的路径和问题探讨