摘要: 这次比较有成就感,排序之后就没什么了 class Solution { public: int longestConsecutive(vector<int>& nums) { if(nums.empty()){ return 0; } sort(nums.begin(),nums.end()); i 阅读全文
posted @ 2021-12-11 15:19 jozon 阅读(12) 评论(0) 推荐(0)
摘要: 很朴素的做法,有右子树就压入栈,然后处理左子树,如果左子树没有了,便取出栈中子树进行处理 class Solution { public: void flatten(TreeNode* root) { stack<TreeNode*>s; TreeNode* temp = root; if(root 阅读全文
posted @ 2021-12-11 15:06 jozon 阅读(40) 评论(0) 推荐(0)
摘要: 今天依然是二叉树,怀疑人生的一天,会画二叉树,但是用代码就不会,感叹智商 看了很多遍题解这才终于搞明白,以后画图预演一定好好总结规律再写代码 class Solution { public: TreeNode* buildTree(vector<int>& preorder, vector<int> 阅读全文
posted @ 2021-12-11 14:03 jozon 阅读(38) 评论(0) 推荐(0)
摘要: 这是第一次自己写层次遍历,花了半个小时吧,有很多不足 例如我对于队列每一层的循环,就显得一点智慧没有 class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<int>temp_val; vect 阅读全文
posted @ 2021-12-09 21:54 jozon 阅读(38) 评论(0) 推荐(0)
摘要: 这是卡塔兰数 的经典应用吧,数学不好 二叉搜索树的个数, class Solution { public: int numTrees(int n) { int result; vector<int>a(n+1,0); a[0] =1; a[1] =1; for(int i =2 ; i<= n; i 阅读全文
posted @ 2021-12-09 20:50 jozon 阅读(24) 评论(0) 推荐(0)
摘要: ### 中序遍历。利用二叉搜索树性质,将其中序遍历,再判断 ### 代码 class Solution { public: bool isValidBST(TreeNode* root) { vector<int>a; stack<TreeNode*> s; TreeNode* temp = roo 阅读全文
posted @ 2021-12-09 20:42 jozon 阅读(28) 评论(0) 推荐(0)