题目分析:
--------------------------------------------
preOrder
root - left - right
inOrder
left - root - right
1, pre 的第一个把inorder划分成两个序列 inLeft , inRight
2, 用inorder的两个部分去划分pre的,再等到pre的两个部分preLeft , preRight
3, 此时可以递归,preLeft和inLeft , preRight和inRight,分别是两个独立的子问题
4, 故,这道题目的算法思想是分治。
数据结构:
1. 存在数的映射关系。建两个hashmap是否合适?无疑是可以提高效率的。YES
2. 数列就不要重新复制了。传入引用以及对应子树的下标范围即可。
3. 树的节点是要新建的。
--------------------------------------------
preOrder
root - left - right
inOrder
left - root - right
1, pre 的第一个把inorder划分成两个序列 inLeft , inRight
2, 用inorder的两个部分去划分pre的,再等到pre的两个部分preLeft , preRight
3, 此时可以递归,preLeft和inLeft , preRight和inRight,分别是两个独立的子问题
4, 故,这道题目的算法思想是分治。
数据结构:
1. 存在数的映射关系。建两个hashmap是否合适?无疑是可以提高效率的。YES
2. 数列就不要重新复制了。传入引用以及对应子树的下标范围即可。
3. 树的节点是要新建的。