a****r 发帖数: 87 | 1 70-80排名的PHD毕业。陆陆续续也刷了不少题目。电面L家。题目没有见过。得到面试
官好几个提示。还是没有最后做出来。。郁闷中😒天生不是做代码的料。。。 |
l*********8 发帖数: 4642 | 2 pat pat, 多刷刷lc吧。
什么题目呢?
【在 a****r 的大作中提到】 : 70-80排名的PHD毕业。陆陆续续也刷了不少题目。电面L家。题目没有见过。得到面试 : 官好几个提示。还是没有最后做出来。。郁闷中😒天生不是做代码的料。。。
|
c*******r 发帖数: 610 | 3 别郁闷了,过去了就算了, 继续努力好好准备下一个 |
l*****a 发帖数: 14598 | 4 说说什么题
版上牛人才能帮助你啊
【在 a****r 的大作中提到】 : 70-80排名的PHD毕业。陆陆续续也刷了不少题目。电面L家。题目没有见过。得到面试 : 官好几个提示。还是没有最后做出来。。郁闷中😒天生不是做代码的料。。。
|
a****r 发帖数: 87 | 5 Given a binary tree where all the right nodes are either empty or leaf
nodes, flip it upside down
and turn it into a tree with left leaf nodes.
* In the original tree, if a node has a right child, it also must have a
left child.
* 1 1
* / \ / \
* 2 3 2 3
* /
* 4
* / \
* 5 6
Will be translated into:
*
* 1 1
* / /
* 2---3 2---3
* /
* 4
* /
* 5---6
我的解法: follow the left node all the way to the leftmost node, and
transform each left node on the way.
其实题目不难。就是一慌就乱阵脚。。继续努力练习。 |
l*********8 发帖数: 4642 | 6 TreeNode * convert(TreeNode * root) {
if (!root || !root->left)
return root;
TreeNode * left = root->left;
TreeNode * newRoot = convert(left);
left->right = root;
left->left = root->right;
root->left = root->right = NULL;
return newRoot;
} |
l*****a 发帖数: 14598 | 7 只有一个root,一个left你的结果室什么?
【在 l*********8 的大作中提到】 : TreeNode * convert(TreeNode * root) { : if (!root || !root->left) : return root; : TreeNode * left = root->left; : TreeNode * newRoot = convert(left); : left->right = root; : left->left = root->right; : root->left = root->right = NULL; : return newRoot; : }
|
T*******e 发帖数: 4928 | 8 感觉他是对的。
* 1 1
* / \ /\
* 2 3 2 3
* /
* 4
* /
* 5 6
Will be translated into:
* 1 1
* / /
* 2---3 2---3
* /
* 4
* /
* 5---6
*
Finally:
* 5 2
* / \ / \
* 6 4 3 1
* \
* 2
* / \
* 3 1
【在 l*****a 的大作中提到】 : 只有一个root,一个left你的结果室什么?
|
T*******e 发帖数: 4928 | |
l*****a 发帖数: 14598 | 10 你的第三步LZ没画出来啊
【在 T*******e 的大作中提到】 : 不过这类题虽然答案很短,临场一紧张也不好想对。
|
|
|
T*******e 发帖数: 4928 | 11 我根据his problem description 猜的。
“ flip it upside down and turn it into a tree with left leaf nodes.”
【在 l*****a 的大作中提到】 : 你的第三步LZ没画出来啊
|
a****r 发帖数: 87 | 12 An iterative version:
TreeNode *transform(TreeNode *root){
if(root == nullptr) return nullptr;
TreeNode *parent = nullptr;
TreeNode *cur = root;
TreeNode *b1 = nullptr;
TreeNode *b2 = nullptr;
while(cur){
// save the left and right child info before wiping them out.
TreeNode *a = cur->left;
b2 = cur->right;
cur->left = b1;
cur->right = parent;
// move to the next step
b1 = b2;
parent = cur;
cur = a;
}
return parent;
} |
y***n 发帖数: 1594 | |
q********c 发帖数: 1774 | 14 collaedit copy and paste 表示木有压力。
【在 y***n 的大作中提到】 : 楼主题目记得那么清楚,也不容易。
|
y***n 发帖数: 1594 | 15 题是写出来的,我还以为是电话的,要我听这个题还真不一定听得懂? |
f********x 发帖数: 2086 | 16 感觉就是tree next pointer的变体
leetcode还是要做熟,那种举一反三的熟 |
y***n 发帖数: 1594 | |