这题是基础中的基础,必须会的
二叉树前序迭代版本的代码:
从某个节点x开始的前序遍历具有结构上的特点 即遍历完节点x之后接下来遍历的一系列节点都是节点x的所有左子树节点,之后再遍历节点x的所有右子树节点
如果先序的输出反过来 我们可以看到遍历顺序就变成了先遍历节点x的右子树,然后遍历节点x的左子树,最后遍历节点x
而后序遍历的遍历顺序是:
先遍历节点x的左子树,然后遍历节点x的右子树,最后遍历节点x
将原来先序遍历的逻辑(先左后右) 改成先右后左 就OK了!AC代码:
康康排名靠前的代码:
用堆栈模拟递归调用,其核心思路类似
这几天都没有更新, 最近相当累,被学校学习进度甩了相当一段距离,回首过去,花了10几年发现自己原来是个笨蛋,花了几年确信了自己是个笨蛋,现在花了几个月的时间证明了自己是个笨蛋,基础不好 脑袋也不灵活, 注意力还不集中 意志力也差。说实话我觉得我应该朝着当个中学数学老师的路线前进,大学去考个师范类学校就好了,现在是自己虐自己,学校的课学的难受,就算费力地学好了,以后不一定用的上 国庆假期把功课补上,然后争取慢慢更新~
不过想一想,10万年以后的人类看着这个时代的人类,人与人之间的差距就像原始猩猩个体之间的差距,可以忽略不计