leetcode
文章平均质量分 73
ice_tomato
这个作者很懒,什么都没留下…
展开
-
2021-06-01二叉树相关:平衡二叉树+看力扣题解C++版
1.平衡二叉树原创 2022-05-08 17:41:25 · 341 阅读 · 0 评论 -
记录面试中被要求写的一些题以及别的爱考的:最长回文子串+最长无重复字符的子串+最长公共子序列
1.最长回文子串 力扣第五题子串:子串必须要是连续的,区别于子序列的概念子序列:对于暴力解法可以优化的地方:只在子串的长度>当前最大的长度的时候,才会去判断回文,class Solution {public:bool ishuiwen(string s){ if(s.size()==1) return true; int i=0; int j=s.size()-1; while(i<=j){ if(s[i]!=s[j]){原创 2021-09-20 20:48:38 · 94 阅读 · 0 评论 -
深度优先搜索+回溯法
深度优先搜索C++题解中的:深度优先搜索在搜索到一个新的节点时,立即对该新节点进行遍历;因此遍历需要用先入后出的栈来实现,也可以通过与栈等价的递归来实现。对于树结构而言,由于总是对新节点调用遍历,因此看起来是向着“深”的方向前进。1.岛屿的最大面积class Solution {public:int dfs(vector<vector<int>>& grid,int i,int j){//返回的是以i,j出发找到的岛屿的最大面积 if(i<原创 2021-09-02 22:45:38 · 1124 阅读 · 2 评论 -
把数组排成最小的数字,划分字母区间,最小覆盖子串,验证回文字符串II
面试题45:把数组排成最小的数字输入一个正整数数组,把数组里所有的数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。class Solution {public:static int MyCompare(const string& s1,const string& s2){ return s1+s2<s2+s1;} string minNumber(vector<int>& nums) { int n=num原创 2021-08-02 22:58:44 · 128 阅读 · 1 评论 -
leetcode二叉搜索树相关:将有序数组转换二叉搜索树+将有序链表转换二叉搜索树+检查平衡性+合法二叉搜索树+二叉树的最近公共祖先
1.将有序数组转换二叉搜索树中序遍历二叉树:若二叉树为空,则空操作,否则①中序遍历左子树;②访问根节点;③中序遍历右子树。我们可以明确该问题的子问题是:构造树的每个节点以及该节点的左右子树。递归结束的条件是:当输入的递增数组为空时即左下标大于了右下标,只能构成一棵空树,此时返回空节点(空指针)。当构造节点的左右子树时,对递增数组进行拆分并进行递归调用。众所周知,一棵二叉搜索树是一棵有根二叉树并且对于所有节点满足特殊的性质:对于树中任意一个点,它的权值必然 ≥ 所有左子树节点的权值,≤ 所有右子树节点原创 2020-07-26 17:53:48 · 87 阅读 · 0 评论 -
二叉树相关(二):对称二叉树+二叉树的最大深度+二叉树的层序遍历+二叉树的锯齿形遍历+二叉树的层平均值
1.对称二叉树给定一个二叉树,检查它是否是镜像对称的。方法一:递归。如果一个树的左子树和右子树镜像对称,那么这个树是对称的。class Solution {public: bool check(TreeNode* p,TreeNode* q){ if(p==NULL&&q==NULL) return true; if(p==NULL||q==NULL) return false;//p,q中有一个是空指针,一个不是,则返回false ret原创 2020-08-03 21:36:41 · 113 阅读 · 0 评论