草庐IT

Leetcode6

全部标签

Java LeetCode篇-深入了解二叉树的经典解法(多种方式实现:构造二叉树)

🔥博客主页: 【小扳_-CSDN博客】❤感谢大家点赞👍收藏⭐评论✍   文章目录        1.0从前序与中序遍历序列来构造二叉树    1.1实现从前序与中序遍历序列来构造二叉树思路      1.2代码实现从前序与中序遍历序列来构造二叉树    2.0从中序与后序遍历序列构造二叉树    2.1实现从中序与后序遍历序列后遭二叉树思路    2.2代码实现从中序与后序遍历序列来构造二叉树    3.0根据后缀表达式创建二叉树    3.1实现后缀表达式创建二叉树思路    3.2代码实现后缀表达式创建二叉树     4.0相同的树    4.1实现判断两颗树是否相同思路    4.2代码

leetCode 131.分割回文串 + 动态规划 + 回溯算法 + 优化 + 图解 + 笔记

我的往期文章:leetCode647.回文子串动态规划+优化空间/中心扩展法+双指针-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/133883091?spm=1001.2014.3001.5501leetCode131.分割回文串+回溯算法+图解+笔记-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/134700907?spm=1001.2014.3001.5501(一)利用动态规划来优化判断回文子串利用动态规划高效地事先一次性计算出,针对一个字符

LeetCode | 572. 另一棵树的子树

LeetCode|572.另一棵树的子树OJ链接我们需要判断两棵二叉树是否相同,如果再判断的的时候不同我们就直接返回false,否则就返回true然后再检查左子树和右子树里面是否存在subRoot子树~~boolisSameTree(structTreeNode*q,structTreeNode*p){if(q==NULL&&p==NULL)returntrue;if(q==NULL||p==NULL)returnfalse;if(q->val!=p->val)returnfalse;returnisSameTree(q->left,p->left)&&isSameTree(q->right,

LeetCode刷题---两两交换链表中的节点

个人主页:元清加油_【C++】,【C语言】,【数据结构与算法】-CSDN博客个人专栏:http://t.csdnimg.cn/D9LVS         前言:这个专栏主要讲述递归递归、搜索与回溯算法,所以下面题目主要也是这些算法做的 我讲述题目会把讲解部分分为3个部分:1、题目解析2、算法原理思路讲解 3、代码实现 一、两两交换链表中的节点题目链接:两两交换链表中的节点题目:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head

LeetCode:459. 重复的子字符串 —【2、KMP算法】

🍎道阻且长,行则将至。🍓🌻算法,不如说它是一种思考方式🍀算法专栏:👉🏻123一、🌱459.重复的子字符串题目描述:给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。来源:力扣(LeetCode)难度:简单提示:1s由小写英文字母组成示例1:输入:s=“abab”输出:true解释:可由子串“ab”重复两次构成。示例2:输入:s=“aba”输出:false🌴解题枚举子字符串长度使用两层for循环:外层for遍历子字符串长度i,所以遍历的范围是1~字符串长度一半,注意字符串长度为1是不满足返回false。对于每一个子字符串长度需要确定是否可以重复来构成原字符串,即用字符串长度对子

Java LeetCode篇-深入了解二叉树经典解法(三种方式实现:获取二叉树的最大深度)

🔥博客主页: 【小扳_-CSDN博客】❤感谢大家点赞👍收藏⭐评论✍  文章目录    1.0对称二叉树        1.1判断对称二叉树实现思路        1.2代码实现:判断对称二叉树    2.0二叉树的最大深度        2.1使用递归实现获取二叉树的最大深度思路    2.2代码实现:使用递归实现获取二叉树的最大深度    2.3使用非递归实现获取二叉树的最大深度思路    2.4代码实现:使用非递归实现获取二叉树的最大深度    2.5使用层序遍历实现获取二叉树的最大深度    2.6代码实现:使用层序遍历实现获取二叉树的最大深度    3.0二叉树的最小深度    3.1

leetcode二叉树

下面的两个题呢是比较类似的所以放在一起讲,更好的理解起来。https://leetcode.cn/problems/same-tree/description/这个题就是比较两颗树是不是一样的,这个其实看起来就只要比较当前节点,我们分析成子问题就是判断两颗树当前节点是不是一致的,比如p和q的val还有就是为空的时候我们,这样我们的代码其实就写好了。boolisSameTree(structTreeNode*p,structTreeNode*q){if(p==NULL&&q==NULL){returntrue;}if(p==NULL||q==NULL){returnfalse;}if(p->va

【贪心算法】LeetCode2071:你可以安排的最多任务数目

作者推荐[二分查找]LeetCode2040:两个有序数组的第K小乘积本文涉及的基础知识点二分查找算法合集题目给你n个任务和m个工人。每个任务需要一定的力量值才能完成,需要的力量值保存在下标从0开始的整数数组tasks中,第i个任务需要tasks[i]的力量才能完成。每个工人的力量值保存在下标从0开始的整数数组workers中,第j个工人的力量值为workers[j]。每个工人只能完成一个任务,且力量值需要大于等于该任务的力量要求值(即workers[j]>=tasks[i])。除此以外,你还有pills个神奇药丸,可以给一个工人的力量值增加strength。你可以决定给哪些工人使用药丸,但每

LeetCode-二叉树OJ题

1.单值二叉树 965. 单值二叉树https://leetcode.cn/problems/univalued-binary-tree/ 先判断这棵树是否为空,如果是空树则是true。再判断左子树是否为空,并且左子树的值val和当前节点的val不相同,如果这左子树不为空且val不等于root的val则返回false,再使用相同方式判断右子树。最后递归一下左右子树即可,只有左右子树有一个返回false,则整体返回false。boolisUnivalTree(structTreeNode*root){if(root==NULL)returntrue;if(root->left&&root->le

LeetCode 面试题 17.01. 不用加号的加法

文章目录一、题目二、C#题解一、题目  设计一个函数把两个数字相加。不得使用+或者其他算术运算符。示例:输入:a=1,b=1输出:2提示:a,b均可能是负数或0结果不会溢出32位整数  点击此处跳转题目。二、C#题解  将a、b进行二进制加法,ai、bi表示a、b第i位的值(0或1),ci表示第i位的进位(0或1)。使用ans表示计算结果,初始情况ans各位均为0。ci=0ai=bi:ai、bi不是0就是1,因此相加后该位结果均为0,ans不做处理ai=bi=0,则计算后该位进位0;ai=bi=1,则计算后该位进位1。故ci=ai。ai!=bi:ai和bi一个为0,一个为1,相加后均不会进位,