摘要:
方法1:统计每个节点的子节点数目,当k>左子树节点数目时向左子树搜索,k=左子树节点数目时返回根节点,否则向右子树搜索。 方法2:递归中序遍历,这里开了O(n)空间的数组。 方法3:非递归中序遍历 阅读全文
摘要:
这里思路是堆排序,而且是小根堆。C++中包含在头文件<queue>的priority_queue本质就是堆排序实现的。其中priority_queue函数原型是 priority_queue<Type, Container, Functional> Type 就是数据类型, Container 就是 阅读全文
摘要:
这题是真的无聊,唯一需要注意的是中间结果需要long long int数据类型存储 阅读全文
摘要:
此题难度在于如何标记每一层的末尾节点。 思路1:队列层次遍历,遇到偶数层末尾反转一下数组 思路2:双栈 阅读全文
摘要:
这道题很简单,大约是词法分析器差不多的原理。但是我觉得看了别人简洁的代码后还是很有收获的。本人的冗余代码就不好意思放上来了,以下是别人的参考代码和值得借鉴的地方: 这段代码巧妙地利用<sstream>里面的stringstream+getline降低处理字符串复杂程度, 其中函数原型istream& 阅读全文
摘要:
恢复内容开始 2018.3.16目前已刷27题,打卡记录有意思的题目。 leetcode78 subsets 思路1:DFS遍历子集,每遇到一个数就把该数加上原来的子集变成新的子集。 思路2:采用位运算,是否取某个数组成子集视为0101的序列。 236 求二叉树的最低公共祖先 思路1:求出根节点到所 阅读全文