Jerring


  • 首页

  • 标签

  • 分类

  • 归档

LeetCode958-二叉树的完全性检验

发表于 2019-07-13 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/check-completeness-of-a-binary-tree/

中文链接:https://leetcode-cn.com/problems/check-completeness-of-a-binary-tree/

题目详述

给定一个二叉树,确定它是否是一个完全二叉树。

百度百科中对完全二叉树的定义如下:

若设二叉树的深度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。(注:第 h 层可能包含 1~ 2h 个节点。)

示例 1:

输入:[1,2,3,4,5,6]
输出:true
解释:最后一层前的每一层都是满的(即,结点值为 {1} 和 {2,3} 的两层),且最后一层中的所有结点({4,5,6})都尽可能地向左。
示例 2:

输入:[1,2,3,4,5,null,7]
输出:false
解释:值为 7 的结点没有尽可能靠向左侧。

提示:

树中将会有 1 到 100 个结点。

阅读全文 »

LeetCode814-二叉树剪枝

发表于 2019-07-13 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/binary-tree-pruning/

中文链接:https://leetcode-cn.com/problems/binary-tree-pruning/

题目详述

给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。

返回移除了所有不包含 1 的子树的原二叉树。

( 节点 X 的子树为 X 本身,以及所有 X 的后代。)

示例1:

1
2
3
4
5
6
输入: [1,null,0,0,1]
输出: [1,null,0,null,1]

解释:
只有红色节点满足条件“所有不包含 1 的子树”。
右图为返回的答案。

示例2:

1
2
输入: [1,0,1,0,0,0,1]
输出: [1,null,1,null,1]

示例3:

1
2
输入: [1,1,0,1,1,0,1,0]
输出: [1,1,0,1,1,null,1]

说明:

  • 给定的二叉树最多有 100 个节点。
  • 每个节点的值只会为 0 或 1 。
阅读全文 »

LeetCode669-修剪二叉搜索树

发表于 2019-07-12 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/trim-a-binary-search-tree/

中文链接:https://leetcode-cn.com/problems/trim-a-binary-search-tree/

题目详述

给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。

示例 1:

1
2
3
4
5
6
7
8
9
10
11
12
输入: 
1
/ \
0 2

L = 1
R = 2

输出:
1
\
2

示例 2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
输入: 
3
/ \
0 4
\
2
/
1

L = 1
R = 3

输出:
3
/
2
/
1
阅读全文 »

LeetCode701-二叉搜索树中的插入操作

发表于 2019-07-12 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/insert-into-a-binary-search-tree/

中文链接:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/

题目详述

给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。

注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。

例如,

给定二叉搜索树:

    4
   / \
  2   7
 / \
1   3

和 插入的值: 5
你可以返回这个二叉搜索树:

     4
   /   \
  2     7
 / \   /
1   3 5

或者这个树也是有效的:

     5
   /   \
  2     7
 / \   
1   3
     \
      4
阅读全文 »

LeetCode700-二叉搜索树中的搜索

发表于 2019-07-12 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/search-in-a-binary-search-tree/

中文链接:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/

题目详述

给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。

例如,

给定二叉搜索树:

    4
   / \
  2   7
 / \
1   3

和值: 2
你应该返回如下子树:

  2     
 / \   
1   3

在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。

阅读全文 »

LeetCode965-单值二叉树

发表于 2019-07-12 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/univalued-binary-tree/

中文链接:https://leetcode-cn.com/problems/univalued-binary-tree/

题目详述

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。

只有给定的树是单值二叉树时,才返回 true;否则返回 false。

示例 1:

1
2
输入:[1,1,1,1,1,null,1]
输出:true

示例 2:

1
2
输入:[2,2,2,5,2]
输出:false

提示:

  1. 给定树的节点数范围是 [1, 100]。
  2. 每个节点的值都是整数,范围为 [0, 99] 。
阅读全文 »

LeetCode1022-从根到叶的二进制数之和

发表于 2019-07-12 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/sum-of-root-to-leaf-binary-numbers/

中文链接:https://leetcode-cn.com/problems/sum-of-root-to-leaf-binary-numbers/

题目详述

给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。

对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。

返回这些数字之和。

示例:

1
2
3
输入:[1,0,1,0,1,0,1]
输出:22
解释:(100) + (101) + (110) + (111) = 4 + 5 + 6 + 7 = 22

提示:

  1. 树中的结点数介于 1 和 1000 之间。
  2. node.val 为 0 或 1 。
  3. 结果不会超过 2^31 - 1.
阅读全文 »

LeetCode590-N叉树的后序遍历

发表于 2019-07-12 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/n-ary-tree-postorder-traversal/

中文链接:https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal/

题目详述

给定一个 N 叉树,返回其节点值的后序遍历。

例如,给定一个 3叉树 :

返回其后序遍历: [5,6,3,2,4,1]。

说明: 递归法很简单,你可以使用迭代法完成此题吗?

阅读全文 »

LeetCode589-N叉树的前序遍历

发表于 2019-07-12 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/n-ary-tree-preorder-traversal/

中文链接:https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/

题目详述

给定一个 N 叉树,返回其节点值的前序遍历。

例如,给定一个 3叉树 :

返回其前序遍历: [1,3,5,6,2,4]。

说明: 递归法很简单,你可以使用迭代法完成此题吗?

阅读全文 »

LeetCode429-N叉树的层序遍历

发表于 2019-07-12 | 分类于 LeetCode

题目链接

英文链接:https://leetcode.com/problems/delete-node-in-a-bst/

中文链接:https://leetcode-cn.com/problems/delete-node-in-a-bst/

题目详述

给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。

例如,给定一个 3叉树 :

返回其层序遍历:

1
2
3
4
5
[
[1],
[3,2,4],
[5,6]
]

说明:

  1. 树的深度不会超过 1000。
  2. 树的节点总数不会超过 5000。
阅读全文 »
1…8910…47
Jerring

Jerring

Talk is cheap, show me the code.

462 日志
4 分类
24 标签
© 2019 Jerring
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4