🧑💻作者:@情话0.0📝专栏:《LeetCode》🔖题目链接:移除元素、删除有序数组中的重复项、合并两个有序数组目录一、移除元素示例1:示例2:理解思路1:代码1理解思路2:代码2二、删除有序数组中的重复项示例1:示例2:理解思路:代码三、合并两个有序数组示例1:示例2:示例3:理解思路:代码一、移除元素给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:输入:nums=[3,2,2,3],val=3输出
🧑💻作者:@情话0.0📝专栏:《LeetCode》🔖题目链接:移除元素、删除有序数组中的重复项、合并两个有序数组目录一、移除元素示例1:示例2:理解思路1:代码1理解思路2:代码2二、删除有序数组中的重复项示例1:示例2:理解思路:代码三、合并两个有序数组示例1:示例2:示例3:理解思路:代码一、移除元素给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:输入:nums=[3,2,2,3],val=3输出
题目链接Leetcode.993二叉树的堂兄弟节点Rating:1288题目描述在二叉树中,根节点位于深度0处,每个深度为k的节点的子节点位于深度k+1处。如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。我们给出了具有唯一值的二叉树的根节点root,以及树中两个不同节点的值x和y。只有与值x和y对应的节点是堂兄弟节点时,才返回true。否则,返回false。示例1:输入:root=[1,2,3,4],x=4,y=3输出:false示例2:输入:root=[1,2,3,null,4,null,5],x=5,y=4输出:true示例3:输入:root=[1,2,3,null,4
题目链接Leetcode.993二叉树的堂兄弟节点Rating:1288题目描述在二叉树中,根节点位于深度0处,每个深度为k的节点的子节点位于深度k+1处。如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。我们给出了具有唯一值的二叉树的根节点root,以及树中两个不同节点的值x和y。只有与值x和y对应的节点是堂兄弟节点时,才返回true。否则,返回false。示例1:输入:root=[1,2,3,4],x=4,y=3输出:false示例2:输入:root=[1,2,3,null,4,null,5],x=5,y=4输出:true示例3:输入:root=[1,2,3,null,4
文章目录说明day27Hanoi塔问题1.思路2.代码3.图示说明闵老师的文章链接:日撸Java三百行(总述)_minfanphd的博客-CSDN博客自己也把手敲的代码放在了github上维护:https://github.com/fulisha-ok/sampledataday27Hanoi塔问题1.思路结合下图,a是最开始的柱子,c是目标柱,b是辅助。在步骤1-4我们把1,2两个圆盘移到辅助盘;在步骤5我们把最大得盘子移动到目标盘,这是就把3和c柱子作为一个整体。此时!我们要进行第二次递归,b为初始盘,a作为辅助盘,c也是目标盘,把1移动到a盘,2移动到c盘。不管柱子上又多少盘子,我们只分
文章目录说明day27Hanoi塔问题1.思路2.代码3.图示说明闵老师的文章链接:日撸Java三百行(总述)_minfanphd的博客-CSDN博客自己也把手敲的代码放在了github上维护:https://github.com/fulisha-ok/sampledataday27Hanoi塔问题1.思路结合下图,a是最开始的柱子,c是目标柱,b是辅助。在步骤1-4我们把1,2两个圆盘移到辅助盘;在步骤5我们把最大得盘子移动到目标盘,这是就把3和c柱子作为一个整体。此时!我们要进行第二次递归,b为初始盘,a作为辅助盘,c也是目标盘,把1移动到a盘,2移动到c盘。不管柱子上又多少盘子,我们只分
第一题:单值二叉树题目介绍:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回true;否则返回false。//题目框架boolisUnivalTree(structTreeNode*root){}问题分析:很多老铁看到这道题,一上来会选择直接遍历二叉树来试图解决这道题。当然遍历固然可行,这道题使用二叉树的前中后遍历的方式来解决,虽然实现的过程存在一定的差异,但都能做出来。这里给出前序遍历的实现,以便参考。前序遍历,无非是先判断根节点,在判断左右子树。根节点的值不一样,返回false,左右子树中任何一方存在节点的值不一样都返回false。boolP
第一题:单值二叉树题目介绍:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回true;否则返回false。//题目框架boolisUnivalTree(structTreeNode*root){}问题分析:很多老铁看到这道题,一上来会选择直接遍历二叉树来试图解决这道题。当然遍历固然可行,这道题使用二叉树的前中后遍历的方式来解决,虽然实现的过程存在一定的差异,但都能做出来。这里给出前序遍历的实现,以便参考。前序遍历,无非是先判断根节点,在判断左右子树。根节点的值不一样,返回false,左右子树中任何一方存在节点的值不一样都返回false。boolP
题目链接Leetcode.530二叉搜索树的最小绝对差easy题目描述给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。示例1:输入:root=[4,2,6,1,3]输出:1示例2:输入:root=[1,0,48,null,null,12,49]输出:1提示:树中节点的数目范围是[2,104][2,10^4][2,104]00Node.val105解法:中序遍历因为给定的是一棵二叉搜索树。中序遍历结点值是按从小到大排序的。所以我们用pre记录前一个结点,用ans记录最小的绝对值差。每次更新ans=min{ans,root.v
题目链接Leetcode.530二叉搜索树的最小绝对差easy题目描述给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。示例1:输入:root=[4,2,6,1,3]输出:1示例2:输入:root=[1,0,48,null,null,12,49]输出:1提示:树中节点的数目范围是[2,104][2,10^4][2,104]00Node.val105解法:中序遍历因为给定的是一棵二叉搜索树。中序遍历结点值是按从小到大排序的。所以我们用pre记录前一个结点,用ans记录最小的绝对值差。每次更新ans=min{ans,root.v