二叉树前序,中序和后序遍历

leetcode遇到了好多关于树的题,因为数据结构基础不牢的原因,基本都是参考答案重写一遍当是加深印象,一刷大部分都是这样,还是太水了,希望二刷能好点。
现在写到关于遍历二叉树的问题了,复习下二叉树遍历,好写代码

leetcode传送门:
preorder
inorder
my gist 代码答案传送门(go):
preorder
inorder

前序遍历(Pre-Order):根节点->左子树->右子树(NLR)
中序遍历(In-Order):左子树->根节点->右子树(LNR)
后序遍历(Post-Order):左子树->右子树->根节点(LRN)


举个例子,比如中序的时候,从以d为root的最下面子树开始,没有左子树,所以d,e,之后遍历以b为root的子树,应该是b,f,但f也是root,所以这时候不到f,而是g,之后才f
中序,左中右的时候,如果该右节点了,右节点有子节点,先去子节点,但是前序就是,该谁就先写上,之后再看他的子节点

你可能感兴趣的:(二叉树前序,中序和后序遍历)