请求确认对称树遍历(Symmetrical tree traversal)的节点访问顺序
对称树遍历顺序验证
先看你提供的二叉树:
什么是对称树遍历
对称树遍历一般指镜像中序遍历,就是把常规中序「左→根→右」的顺序反过来,对每个节点都按「右子树→根→左子树」的顺序访问。
正确的遍历顺序
按这个规则,这棵树的对称中序遍历顺序是:10, 15, 9, 16, 8, 14, 4, 7, 2, 6, 13, 3, 12, 5, 11
你给出的顺序问题
你写的 11, 5, 12, 13, 3, 6, 2, 7, 4, 14, 8, 9, 16, 15, 10 不符合对称遍历的逻辑:
- 左子树部分:节点3的访问顺序错了,对称遍历要先访问3的右子树(6→13),再访问3,最后才是3的左子树(5→12→11),但你把13放在3前面、6放在3后面,逻辑不对。
- 右子树部分:节点9的访问顺序也错了,应该先访问9的右子树(15→10),再访问9,最后是9的左子树16,你却先访问9再访问16,搞反了。
内容的提问来源于stack exchange,提问作者Ionnafan
相关产品推荐
相关产品推荐

