由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - a leetcode problem: 重建BST
相关主题
amazon SDE1算什么职位?还是contractor,是难还是entry level?面试Amazon很不爽!
判断BT是否BST?150上的11.3,用1GByte的memory找出4B整数中的missing one
leetcode pow runtime error??急!google 一面。请大侠看看
刚才的amazon phone interview 第一轮leetcode 上单链表转BST那道题求指导
Bloomberg on-campus interview (failed) 求教leetcode上的sorted list to BST
大概说一下昨天的Google Phone Interview请教LEETCODE讲解部分的LCA一道题的变种。。
谷歌 电面Leetcode Recover Binary Search Tree一问
AMAZON,GOOGLE 一面BrightEdge及LinkedIn电面面经
相关话题的讨论汇总
话题: insertval话题: fin话题: val话题: int
进入JobHunting版参与讨论
1 (共1页)
s******n
发帖数: 20
1
这是Leetcode上的一篇文章:
leetcode.com/2010/09/saving-binary-search-tree-to-file.html
里面的重建BST代码我觉得有问题:
void readBSTHelper(int min, int max, int &insertVal,
BinaryTree *&p, ifstream &fin) {
if (insertVal > min && insertVal < max) {
int val = insertVal;
p = new BinaryTree(val);
if (fin >> insertVal) {
readBSTHelper(min, val, insertVal, p->left, fin);
readBSTHelper(val, max, insertVal, p->right, fin);
}
}
}
void readBST(BinaryTree *&root, ifstream &fin) {
int val;
fin >> val;
readBSTHelper(INT_MIN, INT_MAX, val, root, fin);
}
比如
10
/
5
/ \
4 8
的pre-order是: 10 5 4 8.
显然读到8上面的算法就不工作了,大家有没有什么方法可以重建BST in O(n)
我能想到的最好方法就是starting search from the root node and insert了。
r*********n
发帖数: 4553
2
为什么不对呢?
这里面比较tricky的地方是 readBSTHelper里面的 insertVal是int&,在build 4的时
候,fin>>insertVal就把insertVal的值从4变成了8。
s******n
发帖数: 20
3
原来如此。
谢谢提醒。

【在 r*********n 的大作中提到】
: 为什么不对呢?
: 这里面比较tricky的地方是 readBSTHelper里面的 insertVal是int&,在build 4的时
: 候,fin>>insertVal就把insertVal的值从4变成了8。

1 (共1页)
进入JobHunting版参与讨论
相关主题
BrightEdge及LinkedIn电面面经Bloomberg on-campus interview (failed) 求教
leetcode 150题 划重点大概说一下昨天的Google Phone Interview
新鲜Google面经谷歌 电面
问一道leetcode题:recover BSTAMAZON,GOOGLE 一面
amazon SDE1算什么职位?还是contractor,是难还是entry level?面试Amazon很不爽!
判断BT是否BST?150上的11.3,用1GByte的memory找出4B整数中的missing one
leetcode pow runtime error??急!google 一面。请大侠看看
刚才的amazon phone interview 第一轮leetcode 上单链表转BST那道题求指导
相关话题的讨论汇总
话题: insertval话题: fin话题: val话题: int