LeetCode 993. 二叉树的堂兄弟节点(层序遍历)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 993. 二叉树的堂兄弟节点(层序遍历)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
- 2.1 層序遍歷
- 2.2 遞歸查找
1. 題目
在二叉樹中,根節點位于深度 0 處,每個深度為 k 的節點的子節點位于深度 k+1 處。
如果二叉樹的兩個節點深度相同,但父節點不同,則它們是一對堂兄弟節點。
我們給出了具有唯一值的二叉樹的根節點 root,以及樹中兩個不同節點的值 x 和 y。
只有與值 x 和 y 對應的節點是堂兄弟節點時,才返回 true。否則,返回 false。
示例 1: 輸入:root = [1,2,3,4], x = 4, y = 3 輸出:false 示例 2: 輸入:root = [1,2,3,null,4,null,5], x = 5, y = 4 輸出:true 示例 3: 輸入:root = [1,2,3,null,4], x = 2, y = 3 輸出:false提示:
二叉樹的節點數介于 2 到 100 之間。
每個節點的值都是唯一的、范圍為 1 到 100 的整數。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/cousins-in-binary-tree
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
2.1 層序遍歷
既然題目要求兩節點在同一層,很容易想到層序遍歷
- 設置兩個bool變量記錄x,y出現與否
- 然后遍歷過程中,判斷每個節點的左右是否同時存在x,y(是否是一個父節點)
2.2 遞歸查找
- 題目說了值都是唯一的
- 設置變量記錄x,y的父節點和深度,遞歸查找x,y
總結
以上是生活随笔為你收集整理的LeetCode 993. 二叉树的堂兄弟节点(层序遍历)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1013. 将数组分成
- 下一篇: 程序员面试金典 - 面试题 10.01.