F_G

许多问题需要说清楚就可以&&走永远比跑来的重要

导航

[Leetcode] Construct Binary Tree from Inorder and Postorder Traversal I,II

这两个问题实际上是同一个问题,需要对三种遍历方式的规律非常清楚。

对于前序遍历,第一个元素实际上就是root,然后后面的元素前半部分是左树的node,后半部分是右树的node

对于中序遍历,一旦我们知道了root节点,那么就可以将其分为两半部分,也就是左树和右树

对于后序遍历,我们可以缺点最后一个节点是root节点,剩下的部分:前半部分是左树节点,后半部分是右树节点。

这样使用递归就可以解决,需要使用两组index划定两种遍历的range,当left>right的时候,就需要返回null

有点类似Unique Binary Tree II 的赶脚。

 

posted on 2015-08-15 18:47  F_G  阅读(115)  评论(0编辑  收藏  举报