递归
递归
千叶真尹
这个作者很懒,什么都没留下…
展开
-
leetcode112. 路径总和
给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点。输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:true解释:等于目标和的根节点到叶节点路径如上图所示。三部曲:终止条件;返回原创 2022-01-27 15:01:20 · 357 阅读 · 0 评论 -
leetcode剑指 Offer 10- I. 斐波那契数列
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0,F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n = 5输出...原创 2022-01-25 20:08:06 · 148 阅读 · 0 评论 -
leetcode二叉树226翻转二叉树
翻转一棵二叉树。示例:输入: 4 / \ 2 7/ \ / \1 3 6 9输出: 4 / \ 7 2/ \ / \9 6 3 1解析:每次交换的是当前节点其左右子节点的值我们来看一下递归三部曲:确定递归函数的参数和返回值参数就是要传入节点的指针,不需要其他参数了,通常此时定下来主要参数,如果在写递归的逻辑中发现还需要其他参数的时候,随时补充。返回值的话其实也不需要,但是题目中...原创 2022-01-21 14:19:20 · 67 阅读 · 0 评论 -
leetcode二叉树111二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5做递归的题目也有一阵子了,却感觉自己总在门外徘徊,在此引用leetcode上别人关于递归的一个总结(来自main):写出结束条件 不要把树复杂化,就当做树是三原创 2022-01-18 14:16:12 · 59 阅读 · 0 评论 -
leetcode二叉树110平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1 。示例 1:输入:root = [3,9,20,null,null,15,7]输出:true示例 2:输入:root = [1,2,2,3,3,null,null,4,4]输出:false示例 3:输入:root = []输出:true解析:平衡二叉树要求每个节点上,其左子树和右子树其高度差不超过1,如下图,红色节点为.原创 2021-12-24 16:10:48 · 70 阅读 · 0 评论 -
leetcode二叉树108将有序数组转换为二叉搜索树
给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例 1:输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:示例 2:输入:nums = [1,3]输出:[3,1]解释:[1,3] 和 [3,..原创 2021-12-22 19:26:40 · 54 阅读 · 0 评论 -
leetcode二叉树101对称二叉树
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3思路:定义两个指针(左右),一开始都在root节点,随后左指针左移时右指针右移,或者左指针右移时右指针左移,每次检查两者value是否相等以及他们的...原创 2021-12-20 17:30:57 · 1732 阅读 · 0 评论