Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LeetCode 1469. 寻找所有的独生节点

LeetCode 1469. 寻找所有的独生节点

作者头像
Michael阿明
发布于 2020-07-13 07:07:23
发布于 2020-07-13 07:07:23
65900
代码可运行
举报
运行总次数:0
代码可运行

1. 题目

二叉树中,如果一个节点是其父节点的唯一子节点,则称这样的节点为 “独生节点” 。 二叉树的根节点不会是独生节点,因为它没有父节点。

给定一棵二叉树的根节点 root ,返回树中 所有的独生节点的值所构成的数组 。 数组的顺序 不限

示例 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:root = [1,2,3,null,4]
输出:[4]
解释:浅蓝色的节点是唯一的独生节点。
节点 1 是根节点,不是独生的。
节点 23 有共同的父节点,所以它们都不是独生的。

提示:
tree 中节点个数的取值范围是 [1, 1000]。
每个节点的值的取值范围是 [1, 10^6]

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/find-all-the-lonely-nodes 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 遍历即可
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
	vector<int> ans;
public:
    vector<int> getLonelyNodes(TreeNode* root) {
        if(!root)
        	return {};
        if(!root->left && root->right)
        	ans.push_back(root->right->val);
        if(root->left && !root->right)
        	ans.push_back(root->left->val);
        getLonelyNodes(root->left);
        getLonelyNodes(root->right);
        return ans;
    }
};

48 ms 43.5 MB

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
LeetCode 993. 二叉树的堂兄弟节点(层序遍历)
在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。
Michael阿明
2020/07/13
7650
LeetCode 993. 二叉树的堂兄弟节点(层序遍历)
LeetCode 971. 翻转二叉树以匹配先序遍历(DFS)
给定一个有 N 个节点的二叉树,每个节点都有一个不同于其他节点且处于 {1, …, N} 中的值。
Michael阿明
2020/07/13
3330
LeetCode 652. 寻找重复的子树(DFS)
给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。
Michael阿明
2020/07/13
4230
LeetCode 652. 寻找重复的子树(DFS)
2023-06-06:给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言, 其左右子结点分
2023-06-06:给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。
福大大架构师每日一题
2023/06/06
1980
LeetCode 113. 路径总和 II(回溯)
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。
Michael阿明
2021/02/20
2160
LeetCode 113. 路径总和 II(回溯)
LeetCode 144. 二叉树的前序遍历(前序遍历)
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Michael阿明
2021/02/20
2170
LeetCode 144. 二叉树的前序遍历(前序遍历)
LeetCode 366. 寻找二叉树的叶子节点(上下翻转二叉树+BFS)
1. 题目 给你一棵二叉树,请按以下要求的顺序收集它的全部节点: 依次从左到右,每次收集并删除所有的叶子节点 重复如上过程直到整棵树为空 示例: 输入: [1,2,3,4,5] 1 / \ 2 3 / \ 4 5 输出: [[4,5,3],[2],[1]] 解释: 1. 删除叶子节点 [4,5,3] ,得到如下树结构: 1 / 2
Michael阿明
2020/07/13
1.5K0
LeetCode 549. 二叉树中最长的连续序列(树上DP)
请注意,该路径可以是递增的或者是递减。 例如,[1,2,3,4] 和 [4,3,2,1] 都被认为是合法的,而路径 [1,2,4,3] 则不合法。 另一方面,路径可以是 子-父-子 顺序,并不一定是 父-子 顺序。
Michael阿明
2021/02/19
6440
LeetCode 545. 二叉树的边界(前序+后序)*
给定一棵二叉树,以逆时针顺序从根开始返回其边界。 边界按顺序包括左边界、叶子结点和右边界而不包括重复的结点。 (结点的值可能重复)
Michael阿明
2020/07/13
8380
LeetCode 431. 将 N 叉树编码为二叉树(递归/层序)
设计一个算法,可以将 N 叉树编码为二叉树,并能将该二叉树解码为原 N 叉树。 一个 N 叉树是指每个节点都有不超过 N 个孩子节点的有根树。 类似地,一个二叉树是指每个节点都有不超过 2 个孩子节点的有根树。 你的编码 / 解码的算法的实现没有限制,你只需要保证一个 N 叉树可以编码为二叉树且该二叉树可以解码回原始 N 叉树即可。
Michael阿明
2021/02/19
7410
LeetCode 1110. 删点成林(二叉树递归)
如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合)。
Michael阿明
2020/07/13
6530
LeetCode 1110. 删点成林(二叉树递归)
LeetCode 145. 二叉树的后序遍历(后序遍历&总结)
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Michael阿明
2021/02/20
3090
LeetCode 145. 二叉树的后序遍历(后序遍历&总结)
LeetCode 257. 二叉树的所有路径(DFS)
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-paths 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Michael阿明
2021/02/20
2280
LeetCode 257. 二叉树的所有路径(DFS)
LeetCode 第 17 场双周赛(469/897,前52.3%)
题目链接 给你一个以行程长度编码压缩的整数列表 nums 。 考虑每相邻两个元素 [a, b] = [nums[2*i], nums[2*i+1]] (其中 i >= 0 ),每一对都表示解压后有 a 个值为 b 的元素。
Michael阿明
2020/07/13
3850
LeetCode 第 17 场双周赛(469/897,前52.3%)
LeetCode 94. 二叉树的中序遍历(中序遍历)
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Michael阿明
2021/02/20
3070
LeetCode 94. 二叉树的中序遍历(中序遍历)
LeetCode 107. 二叉树的层次遍历 II(队列)
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
Michael阿明
2020/07/13
2470
LeetCode 236. 二叉树的最近公共祖先
百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”
韩旭051
2022/05/09
2210
程序员进阶之算法练习(九十一)leetcode
题目链接 题目大意: 给定数组 nums 和一个整数 k 。我们将给定的数组 nums 分成 最多 k 个相邻的非空子数组。分数由每个子数组内的平均值的总和构成。 注意我们必须使用 nums 数组中的每一个数进行分组,并且分数不一定需要是整数。 返回我们所能得到的最大 分数 是多少。答案误差在 10 ^ -6 内被视为是正确的。
落影
2023/11/12
2260
程序员进阶之算法练习(九十一)leetcode
LeetCode 863. 二叉树中所有距离为 K 的结点(公共祖先/ DFS+BFS)
给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。
Michael阿明
2020/07/13
8560
LeetCode 863. 二叉树中所有距离为 K 的结点(公共祖先/ DFS+BFS)
LeetCode 199. 二叉树的右视图(DFS & 按层queue)
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
Michael阿明
2021/02/20
2690
LeetCode 199. 二叉树的右视图(DFS & 按层queue)
推荐阅读
相关推荐
LeetCode 993. 二叉树的堂兄弟节点(层序遍历)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验