这里空置了两个礼拜多,总之我要延毕了,怎麽说呢,大家都说延毕不是世界末日,我现在也接受这个说法了,不过还是希望自己这个小废物,能快点出社会哈哈。
他说要反转一个二元树,我看起来像是本来Preorder这棵树,数值会由小到大,那我要的答案是:Preorder会变成由大到小。
要回传的是树的root。
乍一看,我想说感觉是可以同时分别去拜访左child跟右child,但想想感觉又好乱,继续盯着树看,感觉可以试试把每个点的link to child 都交换,直到没有child为止。
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
exchange(root);
return root;
}
private:
void exchange(TreeNode* curr_node) {
if (curr_node == NULL)
return;
TreeNode* temp = curr_node->left;
curr_node->left = curr_node->right;
curr_node->right = temp;
exchange(curr_node->left);
exchange(curr_node->right);
}
};
开心,可能因为刷多了图论的题目,第二直觉的解法一次就通过了!(虽然这题是简单的)
参考:
https://ithelp.ithome.com.tw/articles/10278114
>>: 【从零开始的 C 语言笔记】第十五篇-String 函式库介绍与应用
此系列文章会同步发文到个人部落格,有兴趣的读者可以前往观看喔。 在测试脚本加上断言後,当程序码有 ...
前言 昨天我们做了新增point表的判断 今天要正式在point表确认送出分数 并储存於资料库里了 ...
不知不觉来到铁人赛的尾声了,此次系列文的初衷除了自我复习与归纳之前参加比赛的经验,也希望尽量统整一...
Q1. 什麽是命令执行 指令是与电脑互动的一种方式,一般来说作业系统会包含至少一个 Shell 程序...
现在我们来介绍 EC2 里面的 Instance Storage 与 EBS 的差别,那我们开始吧...