剑指Offer
可乐味的鸡翅
这个作者很懒,什么都没留下…
展开
-
剑指Offer26. 树的子结构
文章目录解法一:前序遍历+条件判断代码实现: 题目 解法一:前序遍历+条件判断 判断B树是否是A的一个子树,采用前序遍历的方法遍历A树中的节点。 recur(A, B) 函数: isSubStructure(A, B) 函数: 代码实现: 时间复杂度O(MN),空间复杂度O(M) M为A树节点数量,N为B树节点数量 class Solution { public: bool isSubStructure(TreeNode* A, TreeNode* B) { // 先原创 2021-06-10 14:26:03 · 98 阅读 · 0 评论 -
剑指Offer 59-II 队列的最大值
文章目录题目:解法一:双端队列维护最大值列表**具体实现过程:**代码实现 题目: 题目链接 解法一:双端队列维护最大值列表 根据题意,需要实现一个返回最大值的函数,因此需要额外的维护一个列表,这个列表中存放的是于队列中剩余个数相匹配的最大元素的列表.要使时间复杂度为O(1),则用一个双端队列来维护最大值列表.(用空间换时间) 具体实现过程: 在插入数据时:如果插入的数据大于双端队列中的部分元素时,将小于插入数据的元素全部出队,然后将要插入的数据入队. 在删除数据时:如果删除的数据与双端对立的队首元素相原创 2021-06-10 11:40:04 · 96 阅读 · 0 评论 -
剑指Offer 03.数组中重复的数字
思路: **方法一:**可以使用辅助的数据结构,如unordered_map,set等STL. 时间复杂度:O(N) 空间复杂度O(N) 代码实现: // 方法一: 使用 辅助的数据结构,如map或者set 空间复杂度O(N) set<int> st; for(auto num : nums ){ if( st.find(num) == st.end() ) st.insert(num); else return num; } r原创 2021-06-09 22:22:58 · 66 阅读 · 0 评论
分享