【Leetcode C++《热题 Hot 100-20》617.合并二叉树】教程文章相关的互联网学习教程文章

LeetCode初级算法-从排序数组中删除重复项【代码】

从排序数组中删除重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素Python: class Solution(object):def removeDuplicates(se...

算法的实战(三):LeetCode -- reverse【代码】

一 题目描述 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1:输入: 123 输出: 321 示例 2:输入: -123 输出: -321示例 3:输入: 120 输出: 21注意: 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [?231, 231 ? 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

leetcode解题总览(算法、剑指offer、SQL、多线程、shell)

leetcode解题总览(算法、剑指offer、SQL、多线程、shell)置顶 RabbitMQ!!! 2020-03-22 18:12:35 24149 收藏 53 原力计划分类专栏: leetcode版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/hebtu666/article/details/105030629收起3/22更新剑指offer题目链接建议大部分题都会做,都能比较快速且准确的写出来。关于做题方式,我的建议是:一道一道刷...

【二刷随笔】剑指 Offer 37. 序列化二叉树 / leetcode 297,BFS,超详细解题记录!【代码】

目录 剑指 Offer 37. 序列化二叉树 / leetcode 297:代码,注释很详细,直接看也行:思路:1、序列化2、辅助函数strToNode3、反序列化剑指 Offer 37. 序列化二叉树 / leetcode 297: 二叉树的序列化与反序列化 题目链接:https://leetcode-cn.com/problems/xu-lie-hua-er-cha-shu-lcof/代码,注释很详细,直接看也行:// BFS,层序遍历 时间:O(n);空间:因为用到额外的queue ,O(n)// 先自定义一个序列化规则 [xx, xx, ...,...

LeetCode习题:二叉树的最近公共祖先【代码】【图】

题目描述:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” ####例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4] 示例: 例1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点 5 和节点 1 的最...

leetcode 236. 二叉树的最近公共祖先【代码】【图】

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 示例 1: 输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出:3解释:节点 5 和节点 1 的最近公共祖先是节点 3 。示例 2: 输入:root = [3,5,1,6,2,0,8,null,null,7,4], ...

Leetcode53. 最大子序和(贪心+动态规划)【代码】

题目链接:https://leetcode-cn.com/problems/maximum-subarray/ 解题思路 方法一:贪心 如果我们用贪心算法,那么我们可以遍历每一个值,并且把每一个值的和都用s统计,然后先比较s是否比最后的答案要大,如果比最后答案大则更新答案。然后再利用贪心,我们可以知道,如果前面的和小于0那我们肯定不会选择要前面的子序列,而是选择以这个位置开始重新计算子序列,所以如果s < 0,则使s = 0。 代码 class Solution {public int max...

leetcode之二叉树三: 二叉树的最大深度【代码】【图】

原题: https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/submissions/ 一、题目要求 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。 二、解题 package com.leetcode.test.tree;/*** 二叉树的最大深度*/ public class Solution3 {pub...

Leetcode 435 无重叠区间 & Leetcode 452 用最少数量的箭引爆气球 贪心 动态规划【代码】【图】

基础贪心问题:labuladong 给你很多形如[start,end]的闭区间,请你设计一个算法,算出这些区间中最多有几个互不相交的区间。 举个例子,intvs=[[1,3],[2,4],[3,6]],这些区间最多有两个区间互不相交,即[[1,3],[3,6]],你的算法应该返回 2。注意边界相同并不算相交。 正确的思路其实很简单,可以分为以下三步:从区间集合 intvs 中选择一个区间 x,这个 x 是在当前所有区间中结束最早的(end 最小)。把所有与 x 区间相交的区间从区...

LeetCode 545. 二叉树的边界(前序+后序)【代码】

1. 题目 给定一棵二叉树,以逆时针顺序从根开始返回其边界。 边界按顺序包括左边界、叶子结点和右边界而不包括重复的结点。 (结点的值可能重复) 左边界的定义是从根到最左侧结点的路径。 右边界的定义是从根到最右侧结点的路径。 若根没有左子树或右子树,则根自身就是左边界或右边界。 注意该定义只对输入的二叉树有效,而对子树无效。 最左侧结点的定义是:在左子树存在时总是优先访问, 如果不存在左子树则访问右子树。 重复以上...

Leetcode 124. 二叉树中的最大路径和(DAY 100) ---- Leetcode Hot 100【代码】【图】

原题题目代码实现(首刷自解) /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:int ret = ...

leetcode——第222题——完全二叉树的节点个数【代码】

题目: 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left...

LeetCode 156. 上下翻转二叉树【代码】

1. 题目 给定一个二叉树,其中所有的右节点要么是具有兄弟节点(拥有相同父节点的左节点)的叶节点,要么为空将此二叉树上下翻转并将它变成一棵树, 原来的右节点将转换成左叶节点。返回新的根。例子:输入: [1,2,3,4,5]1/ 2 3/ 4 5输出: 返回二叉树的根 [4,5,2,#,#,3,1]4/ 5 2/ 3 1 说明:对 [4,5,2,#,#,3,1] 感到困惑? 下面详细介绍请查看 二叉树是如何被序列化的。二叉树的序列化遵循层次遍历规则,当没有节点存在...

leetcode 105. 从前序与中序遍历序列构造二叉树【代码】【图】

根据一棵树的前序遍历与中序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:3 / \ 9 20 / \ 15 7 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 publi...

Leetcode easy 257. 二叉树的所有路径【代码】

给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入: 1 / 2 3 5 输出: [“1->2->5”, “1->3”] 解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, Tre...