碼農小汪 劍指Offer之15 樹的子結構

2021-07-10 20:56:18 字數 824 閱讀 7362

輸入兩顆二叉樹a,b,判斷b是不是a的子結構。

題解:我們這個主要的問題就是,如何去判斷乙個是不是另乙個的子樹,首先一點。我們肯定涉及到對於樹的值得比較,肯定會和遍歷有關係啦。遍歷最簡單的遞迴去處理。

package jianzhioffer;

/** * 思路:

* 1.我們要找到相同的根,然後進行一一的比較是否相等。這個過程中我們需要遍歷我們的樹

* 2.找到相同的根之後,進行一一的左右樹的比較,也需要遍歷

*@author jetwang

* */

public

class

sloution15

if(!flag)

if(!flag)

}return flag;

}/**

* 這個是乙個遞迴的過程,我們知道,root2,是roo1 的子樹的條件是,對應的節點相等

*@param root1

*@param root2

*@return

*/public

boolean

issubtree(treenode root1, treenode root2)

/*** root2都不為空,root1為空肯定不相等啦

*/if(root1==null)

if(root1.val!=root2.val)

/*** 比較相應的左右子樹

*/return issubtree(root1.left,root2.left)&&issubtree(root1.right,root2.right);

}}

碼農小汪 劍指Offer之31 醜數

把只包含因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。因子中僅僅包含2 3 5的數,稱為醜數。比如說14,就不是醜數,因為因子包含7。請輸出所有醜數中的第n個醜數。第乙個是基本的思...

碼農小汪劍指Offer之37 平衡二叉樹判定

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。求解二叉樹的高度,比較就知道了 package jianzhioffer public class sloution37 高度差正確就繼續求解,這裡寫的不好 求解高度沒有利用儲存起來 if math.abs getlength root.left get...

劍指offer之樹專題(一)

題目 思路 前中 二叉樹,前 根 左 右,中 左 根 右 先得根在中序遍歷中的位置,然後可得左子樹的長度,遞迴遍歷。class solution treenode recur vector preorder,int l1,int r1,vector inorder,int l2,int r2 題目 ...