日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【剑指offer】面试题26: 树的子结构(Java)

發布時間:2024/7/19 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【剑指offer】面试题26: 树的子结构(Java) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不是任意一個樹的子結構)

代碼:

package offer;
class TreeNode
{
?? ?int val;
?? ?TreeNode left = null;
?? ?TreeNode right = null;
?? ?TreeNode(int val)
?? ?{
?? ??? ?this.val = val;
?? ?}
}
public class ti26 {
?? ?public static boolean HasSon(TreeNode node1,TreeNode node2)
?? ?{
?? ??? ?boolean result = false;
?? ??? ?if(node1!=null&&node2!=null)
?? ??? ?{
?? ??? ??? ?if(node1.val==node2.val)
?? ??? ??? ?{
?? ??? ??? ??? ?result = HasSon2(node1,node2);
?? ??? ??? ?}
?? ??? ??? ?if(!result)
?? ??? ??? ?{
?? ??? ??? ??? ?result = HasSon(node1.left,node2);
?? ??? ??? ?}
?? ??? ??? ?if(!result)
?? ??? ??? ?{
?? ??? ??? ??? ?result = HasSon(node1.right,node2);
?? ??? ??? ?}
?? ??? ?}
?? ??? ?return result;
?? ?}
?? ?public static boolean HasSon2(TreeNode node1,TreeNode node2)
?? ?{
?? ??? ?if(node2==null)
?? ??? ?{
?? ??? ??? ?return true;
?? ??? ?}
?? ??? ?if(node1==null)
?? ??? ?{
?? ??? ??? ?return false;
?? ??? ?}
?? ??? ?if(node1.val!=node2.val)
?? ??? ?{
?? ??? ??? ?return false;
?? ??? ?}
?? ??? ?return HasSon2(node1.left,node2.left)&&HasSon2(node1.right,node2.right);
?? ??? ?
?? ?}
?? ?public static void main(String[] args)
?? ?{
?? ??? ?TreeNode node1 = new TreeNode(8);
?? ??? ?TreeNode node2 = new TreeNode(8);
?? ??? ?TreeNode node3 = new TreeNode(7);
?? ??? ?TreeNode node4 = new TreeNode(9);
?? ??? ?TreeNode node5 = new TreeNode(2);
?? ??? ?TreeNode node6 = new TreeNode(4);
?? ??? ?TreeNode node7 = new TreeNode(7);
?? ??? ?node1.left = node2;
?? ??? ?node1.right = node3;
?? ??? ?node2.left = node4;
?? ??? ?node2.right = node5;
?? ??? ?node5.left = node6;
?? ??? ?node5.right = node7;
?? ??? ?TreeNode node8 = new TreeNode(8);
?? ??? ?TreeNode node9 = new TreeNode(9);
?? ??? ?TreeNode node10 = new TreeNode(2);
?? ??? ?node8.left = node9;
?? ??? ?node8.right = node10;
?? ??? ?System.out.println(HasSon(node1,node8));
?? ?}
}
?

總結

以上是生活随笔為你收集整理的【剑指offer】面试题26: 树的子结构(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。