劍指Offer - 17 - 樹的子結(jié)構(gòu)

題目描述

樹的子結(jié)構(gòu)

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

思路

使用遞歸,逐一比較左右子節(jié)點(diǎn)

Code

  • JavaScript
/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function HasSubtree(a, b)
{
    // write code here
  if (a == null || b == null) return false;
  return isSubtree(a, b) || HasSubtree(a.left, b) || HasSubtree(a.right, b);
}
function isSubtree(a, b)
{
  if (b == null) return true;
  if (a == null) return false;
  if (a.val === b.val) {
    return isSubtree(a.left, b.left) && isSubtree(a.right, b.right)
  } 
  return false;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 10,694評(píng)論 0 13
  • 樹 記錄《劍指offer》中所有關(guān)于樹的題目,以及LeetCode中的相似題目。 相關(guān)題目列表 題目 樹是一種最常...
    wenmingxing閱讀 1,531評(píng)論 2 13
  • 一些概念 數(shù)據(jù)結(jié)構(gòu)就是研究數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)以及它們之間相互關(guān)系,并對這種結(jié)構(gòu)定義相應(yīng)的運(yùn)算,而且確保經(jīng)過這...
    Winterfell_Z閱讀 6,613評(píng)論 0 13
  • 樹的簡介 棧、隊(duì)列、鏈表等數(shù)據(jù)結(jié)構(gòu),都是順序數(shù)據(jù)結(jié)構(gòu)。而樹是非順序數(shù)據(jù)結(jié)構(gòu)。樹型結(jié)構(gòu)是一類非常重要的非線性結(jié)構(gòu)。直...
    黎貝卡beka閱讀 15,965評(píng)論 4 25
  • 樹形結(jié)構(gòu)是一種非常重要的非線性的數(shù)據(jù)結(jié)構(gòu)。樹結(jié)構(gòu)與線性結(jié)構(gòu)不同之處:線性結(jié)構(gòu)中任意一個(gè)元素最多只有一個(gè)后繼元素,而...
    zgwyvd閱讀 2,627評(píng)論 0 7

友情鏈接更多精彩內(nèi)容