由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 看似很简单的一个BST问题但就是错了!
相关主题
leetcode 新题 Course Schedule用BFS怎么做?菜鸟问一道java题目,check balanced binary tree
请问LC上一道题:Validate BST问一个leetcode上Validate Binary Search Tree的问题
新鲜Amazon面经(附参考答案) 顺便求各种大公司referL店面
zenefit 电面面经Linked电面分享,挺好的题 应该已挂
word search BST 解法,大测试超时,请大家指点迷津Amazon 線上面試題
[难题求助] leetcode wordsearch今天面试惨败,分享面经
leetcode Valid Sudoku 就是通不过这个check whether a binary tree is a BST or not
Amazon onsite 面经报google nyc offer,并分享面经
相关话题的讨论汇总
话题: bst话题: visited话题: return话题: cycle话题: treenode
进入JobHunting版参与讨论
1 (共1页)
s**o
发帖数: 30
1
看似很简单的一个函数,查看一个BST有没有loop,我的代码是,没有那一行“remove
”的代码就会错,我现在还没想明白。。。。
public static boolean cycle(TreeNode root, HashSet visited) {
if (root == null) {
return true;
}
if (visited.contains(root.c)) {
return false;
}
visited.add(root.c);
boolean res = cycle(root.left, visited)&& cycle(root.right, visited);
//没有这一行就会错,为啥??????????
visited.remove(root.c);

return res;
}
D*********S
发帖数: 21
2
代码写的可读性太差,逻辑有点混乱
不过确实是错的,因为tree的traversal比较特别,不能删掉flag
自己走一遍,别想当然, 比如很简单的树,
而且还要看你bst loop具体是怎么定义的了
s********k
发帖数: 6180
3
经典的recursive做法吗?跟做combinition只push不pop会错一个道理

remove
{

【在 s**o 的大作中提到】
: 看似很简单的一个函数,查看一个BST有没有loop,我的代码是,没有那一行“remove
: ”的代码就会错,我现在还没想明白。。。。
: public static boolean cycle(TreeNode root, HashSet visited) {
: if (root == null) {
: return true;
: }
: if (visited.contains(root.c)) {
: return false;
: }
: visited.add(root.c);

j******o
发帖数: 4219
4
你的BST里有没有重复的value?
S**********n
发帖数: 250
5


:你的BST里有没有重复的value?
w****6
发帖数: 796
6
boolean hasCycle(TreeNode node, Set set)
{
if (node == null)
return false;
if (!set.add(node))
return true;
else
return hasCycle(node.left, set) || hasCycle(node.right, set);
}
Y******g
发帖数: 16
7
这个没法处理重复的value吧

【在 S**********n 的大作中提到】
: 赞
:
: :你的BST里有没有重复的value?

d******y
发帖数: 2
8
如果 左子树的一个节点指向右子树的一个节点不算loop的话, 你的算法就会出差
A have 2 children B , and C
Also B point to C
Then your method will put C as visited when visiting B,
Later on when you visit C, you will get a false.
This is not a hard issue if you know the test case
1 (共1页)
进入JobHunting版参与讨论
相关主题
报google nyc offer,并分享面经word search BST 解法,大测试超时,请大家指点迷津
A公司面挂了,发面经,攒RP[难题求助] leetcode wordsearch
攒人品,amazon一面经历leetcode Valid Sudoku 就是通不过
Rebuild BST using pre-order travesalAmazon onsite 面经
leetcode 新题 Course Schedule用BFS怎么做?菜鸟问一道java题目,check balanced binary tree
请问LC上一道题:Validate BST问一个leetcode上Validate Binary Search Tree的问题
新鲜Amazon面经(附参考答案) 顺便求各种大公司referL店面
zenefit 电面面经Linked电面分享,挺好的题 应该已挂
相关话题的讨论汇总
话题: bst话题: visited话题: return话题: cycle话题: treenode