这两个问题实际上是同一个问题,需要对三种遍历方式的规律非常清楚。
对于前序遍历,第一个元素实际上就是root,然后后面的元素前半部分是左树的node,后半部分是右树的node
对于中序遍历,一旦我们知道了root节点,那么就可以将其分为两半部分,也就是左树和右树
对于后序遍历,我们可以缺点最后一个节点是root节点,剩下的部分:前半部分是左树节点,后半部分是右树节点。
这样使用递归就可以解决,需要使用两组index划定两种遍历的range,当left>right的时候,就需要返回null
有点类似Unique Binary Tree II 的赶脚。
时间: 2024-10-08 05:50:01