LeetCode 117 填充每个节点的下一个右侧节点 问题描述: 给定一个二叉树 struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 ...
分类:
其他好文 时间:
2020-10-09 20:50:04
阅读次数:
18
题意 统计树中的每一层有多少叶子结点,要求逐层输出 思路 逐层输出,刚好层序遍历是逐层扩展,所以我就直接用BFS了 代码 #include <algorithm> #include <cstdio> #include <cstring> #include <iostream> #include <v ...
分类:
其他好文 时间:
2020-10-06 20:54:35
阅读次数:
26
103. 二叉树的锯齿形层次遍历 锯齿形层次遍历,思路与二叉树的层次遍历相同,稍微做点改动,区别在于此处使用的是双端队列,分别从前到后和从后到前地遍历二叉树。代码如下 vector<vector<int>> zigzagLevelOrder(TreeNode* root) { deque<TreeN ...
分类:
其他好文 时间:
2020-10-06 19:57:09
阅读次数:
25
题意 树的层序遍历的问题,找到结点数最多的一层,输出结点树和对应层号 思路 看到是树层序遍历就立马反应过来用BFS做,可以说是裸模版的题目了 层序遍历在每次扩展状态的时候都是取一层的结点数进行扩展,此时就可以直接比较来找题目要求的解了 代码 #include <algorithm> #include ...
分类:
其他好文 时间:
2020-10-05 21:55:34
阅读次数:
27
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 输入: Tree 1 Tree 2 1 2 ...
分类:
其他好文 时间:
2020-09-24 21:03:04
阅读次数:
47
package com.example.lettcode.dailyexercises; /** * @Class InvertTree * @Description 226 * 翻转一棵二叉树。 * <p> * 示例: * 输入: * **** 4 * ** / \ * ** 2 7 * * / ...
分类:
其他好文 时间:
2020-09-18 03:02:57
阅读次数:
34
二叉树 C++风格二叉树节点 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 二叉树的前序遍历 前序遍历(VLR), ...
分类:
其他好文 时间:
2020-09-18 00:55:38
阅读次数:
29
class Solution(object): def isBalanced(self, root): """ :type root: TreeNode :rtype: bool """ if not root: return True # 求左子树深度 leftDenth = self.treeD ...
分类:
其他好文 时间:
2020-09-18 00:02:14
阅读次数:
32
1 #include <iostream> 2 #include<binaryNode.hpp> 3 #include<cassert> 4 #include<queue> 5 #include<vector> 6 7 using namespace std; 8 9 template<class ...
分类:
编程语言 时间:
2020-09-17 23:50:30
阅读次数:
40
最近笔试做了这么一道题,想和大家分享一下我的做法 目录:1.题目 2.题目分析 3.功能与模块实现 4.完整代码 5.总结 一、题目 二叉树路径查找 给定一棵二叉树(结构如下),其中每个节点值为整数。给定一个值K,求所有满足如下条件的路径并将路径上节点的值打印出来: 1、路径方向必须向下,即只能从父 ...
分类:
其他好文 时间:
2020-09-17 23:29:35
阅读次数:
33