ICode9

精准搜索请尝试: 精确搜索
  • Leetcode 226. 翻转二叉树2022-04-27 01:00:24

    226. 翻转二叉树 - 力扣(LeetCode) (leetcode-cn.com)   思路  递归: 1. 从根节点开始,递归遍历整个树。 2. 对根节点的左节点进行翻转,对根节点的右节点进行翻转。 3. 如果根节点左右节点已经翻转完成,我们只需要互换此根节点的左右节点即可。   /** * Definition for a binary t

  • LeetCode 1676. Lowest Common Ancestor of a Binary Tree IV2022-04-24 11:31:35

    原题链接在这里:https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree-iv/ 题目: Given the root of a binary tree and an array of TreeNode objects nodes, return the lowest common ancestor (LCA) of all the nodes in nodes. All the nodes will

  • LeetCode 1644. Lowest Common Ancestor of a Binary Tree II2022-04-24 07:31:37

    原题链接在这里:https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree-ii/ 题目: Given the root of a binary tree, return the lowest common ancestor (LCA) of two given nodes, p and q. If either node p or q does not exist in the tree, ret

  • 数据结构(天梯L2 部分题解)2022-04-24 01:01:10

    L2-014 列车调度     这个题的话,可以用贪心的思想,当新的火车进站时,保证这列火车一定停靠在刚刚比他大的最小的数的后面,由于数据量比较大,我们可以考虑使用二分查找来寻找符合要求的那个数即可 #include<stdio.h> int train[100100]; int a[100100]; int len=0; int erfen(int x

  • LeetCode102二叉树的层序遍历-----广度优先搜索2022-04-23 23:32:13

    题目表述 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 广度优先搜索 首先让根节点入队列,然后遍历队列。 每次循环开始,计算出队列大小,当前的队列大小size就是每一层的节点数。循环这size个节点,依次弹出队列,然后判断当前节点的左右节

  • 栈 递归2022-04-22 20:35:36

    二叉树最大深度 https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/ /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func maxDepth(root *TreeNode) int { if roo

  • 二叉树的常见操作2022-04-22 16:02:16

    二叉树的常见操作及代码(日常更新) 主要操作: 二叉树的创建 遍历:前序,中序,后序(递归与非递归),层次 求高度 是否为对称二叉树 是否为同一二叉树 import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.Stack; public class BinaryTree

  • 剑指offer(68)2022-04-22 09:31:06

    剑指offer(68) 剑指 Offer 68 - II. 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自

  • 递归 二叉树前序 中序 后序遍历2022-04-21 20:33:56

      https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ https://leetcode-cn.com/problems/binary-tree-inorder-traversal/ https://leetcode-cn.com/problems/binary-tree-postorder-traversal/ /** * Definition for a binary tree node. * type TreeNod

  • 二叉树的构造2022-04-19 10:35:15

    今天来谈二叉树的构造,主要有以下几个问题: 最大二叉树 前序和中序构造二叉树 后序和中序构造二叉树 前序和后序构造二叉树 二叉树构造模板,分治模式: 构造整棵树 = 根节点 + 构造左子树 + 构造右子树 一、最大二叉树 class Solution { public TreeNode constructMaximumBin

  • 28_235. 二叉搜索树的最近公共祖先2022-04-18 20:01:44

    题目描述: 解题思路: 分叉点:其实找最近的公共祖先,就是找分叉点,对于二叉搜索树的分叉点是特别好找的。 两次遍历:第一次遍历记录根节点到p的路径,第二次记录到q的路径,根据路径,找出分叉点 一次遍历:根节点要么都大于p,q,要么都小于p,q那么剩下的情况,就是根节点是p或者q或者p,q在两侧了

  • 验证二叉搜索树(二叉搜索树的中序遍历是递增的)2022-04-18 00:36:28

    验证二叉搜索树 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。   示例 1: 输入:root = [

  • 二叉树的“查”2022-04-17 20:34:14

    前言:今天来重点讲一下二叉树的“查”,二叉树也是一种数据存储方式,类比于数组来说,最基本的“查”应该有以下几种: 二叉树的大小即节点个数 二叉树的最大深度和最小深度 二叉树的最近公共祖先 方法论: 本文中主要用到了两种思维模式,如下: 是否遍历一遍二叉树就可以得到结果,如果可以

  • LeetCode-230-二叉搜索树中第K小的元素2022-04-17 04:31:06

    二叉搜索树中第K小的元素 题目描述:给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 示例说明请见LeetCode官网。 来源:力扣(LeetCode) https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/ 著作权归领扣

  • 二叉树的下一个节点2022-04-17 01:33:04

    二叉树的下一个节点 给定一棵二叉树的其中一个节点,请找出中序遍历序列的下一个节点。 注意: 如果给定的节点是中序遍历序列的最后一个,则返回空节点; 二叉树一定不为空,且给定的节点一定不是空节点; 数据范围 树中节点数量 [0,100]。 样例 假定二叉树是:[2, 1, 3, null, null,

  • LeetCode-222-完全二叉树的节点个数2022-04-15 23:01:50

    完全二叉树的节点个数 题目描述:给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ \(2^{h

  • 【数据结构】二叉树专题2022-04-15 22:00:56

    LeetCode 94. 二叉树的中序遍历 递归写法 /** * 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),

  • LeetCode-199-二叉树的右视图2022-04-14 23:03:57

    二叉树的右视图 题目描述:给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例说明请见LeetCode官网。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-right-side-view/ 著作权归领扣网络所有。商业

  • leetcode 95 不同的二叉搜索树2022-04-14 09:35:35

    你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树 。可以按 任意顺序 返回答案。 示例 1: 输入:n = 3 输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]] 示例 2 输入:n = 1 输出:[[1]] 来源:力扣(LeetCode) 链

  • 二叉树2022-04-13 16:32:48

    零.节点类 /** * 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, TreeNode left, TreeNode rig

  • 关于二叉树的遍历找最大值路径2022-04-13 00:31:31

    1 二叉树的前中后序遍历(前:根-左-右,中:左-根-右,后:左-右-根) 二叉树中的最大路径和 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值

  • 515. Find Largest Value in Each Tree Row2022-04-12 01:32:37

    My BFS solution: /** * 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, TreeNode left, T

  • C# 将List转成树的两种方式(递归、循环)2022-04-11 18:31:42

    声明一个Model类: public class TreeNode { /// <summary> /// 子id /// </summary> public string Id { get; set; } /// <summary> /// 父id /// </summary> public string ParentId { get; set; } /// <summa

  • 二叉树day132022-04-11 12:35:07

    108. 将有序数组转换为二叉搜索树 递归 class Solution { public TreeNode sortedArrayToBST(int[] nums) { return build(nums, 0, nums.length - 1); } private TreeNode build(int[] nums, int s, int e) { //递归终止条件 if (s > e) ret

  • P17-二叉树最小深度-深度优先2022-04-11 11:36:02

    //二叉树的最小深度 /* * 给定一个二叉树,找出其最小深度 * 最小深度是从根节点到最近叶子节点的最短路径上的节点数量 * */ public class P17 { static class TreeNode{ int val; TreeNode left; TreeNode right; TreeNode(int val, Tre

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有