详见一个老外的的discuss。
这道题考察的其实是二分查找的知识。二叉搜索树的中序遍历是一个递增有序序列,而中序遍历是左根右,即根在中序遍历的中间,则可以由中序遍历的序列找到根的位置。找到根的位置后,将原序列分为两个子序列,则再在每个子序列中找根。
另外,从该题中还可以学到一种leetcode中初始化指针类型的方法,即按照leetcode的构造方法,treenode * ret=new treenode(int)。
详见一个老外的的discuss。
这道题考察的其实是二分查找的知识。二叉搜索树的中序遍历是一个递增有序序列,而中序遍历是左根右,即根在中序遍历的中间,则可以由中序遍历的序列找到根的位置。找到根的位置后,将原序列分为两个子序列,则再在每个子序列中找根。
另外,从该题中还可以学到一种leetcode中初始化指针类型的方法,即按照leetcode的构造方法,treenode * ret=new treenode(int)。