[剑指offer][JAVA]面试题第[26]题[树的子结构][递归]
生活随笔
收集整理的這篇文章主要介紹了
[剑指offer][JAVA]面试题第[26]题[树的子结构][递归]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【問題描述】[中等]
輸入兩棵二叉樹A和B,判斷B是不是A的子結構。(約定空樹不是任意一個樹的子結構)B是A的子結構, 即 A中有出現和B相同的結構和節點值。例如: 給定的樹 A:3/ \4 5/ \1 2 給定的樹 B:4 /1 返回 true,因為 B 與 A 的一個子樹擁有相同的結構和節點值。示例 1:輸入:A = [1,2,3], B = [3,1] 輸出:false 示例 2:輸入:A = [3,4,5,1,2], B = [4,1] 輸出:true 限制:0 <= 節點個數 <= 10000【解答思路】
1. 遞歸思路一
2. 遞歸思路二
class Solution {public boolean isSubStructure(TreeNode A, TreeNode B) {if(A== null || B == null)return false;return fun(A,B) || isSubStructure(A.left,B) || isSubStructure(A.right,B);}public boolean fun(TreeNode a,TreeNode b){if(b == null) return true;if(a == null) return false;return (a.val == b.val) && fun(a.left,b.left) && fun(a.right,b.right);} }【總結】
1.樹的問題 遞歸思想很重要 切分子問題
2.想清楚邊界問題
轉載鏈接:https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof/solution/mian-shi-ti-26-shu-de-zi-jie-gou-xian-xu-bian-li-p/
轉載鏈接:https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof/solution/di-gui-by-rich/
總結
以上是生活随笔為你收集整理的[剑指offer][JAVA]面试题第[26]题[树的子结构][递归]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Logcat打印调试信息
- 下一篇: 罗技驱动LOGI G Hub永久保存设置