輸入兩棵二叉樹a,b,判斷b是不是a的子結構。(ps:我們約定空樹不是任意乙個樹的子結構)
分析:
首先找到a中結點的值與b相等的結點,然後從這兩個相同的結點出發,判斷是否存在重合,若是返回true。否則,在樹a的左右子樹中尋找與b結點值相同的結點,以這些結點出發遞迴判斷是否是a的子樹。
public class treenode
}public class solution
if(!flag)
if(!flag)
}return flag;
}public boolean issubtree(treenode root1,treenode root2)else if(root2==null)//b樹已經為空,判斷到最後乙個結點都相同,不論a中是否有剩餘,都是a的子樹
return true;
else if(root1==null)//a樹判斷到最後乙個元素,但b還存在剩餘結點,說明b不在a中,不是a的子樹
return false;
else if(root1.val==root2.val)else
return false;
}}
判斷是否是回文數
示例如下 給你乙個整數 x 如果 x 是乙個回文整數,返回 true 否則,返回 false 回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。例如,121 是回文,而 123 不是。public class hwnumber public static boolean ispalind...
C 判斷輸入的是否是漢字
第一種方法 正規表示式 string text 是不是漢字 for int i 0 i text.length i console.readkey 第二種方法 漢字的 unicode 編碼範圍 string text 是不是漢字 char c text.tochararray for int i 0...
劍指offer 判斷B樹是否是A樹的子結構
題目描述 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 一道蠻有意思的題,一開始理解錯題意了,只考慮了b樹完全覆蓋了a中某棵子樹,並且以為一定存在根節點相同就完全匹配b樹的子樹。然後想著只要從a樹根節點往下遍歷直到找到乙個節點與b的根節點匹配即可。還是想的太...