JavaScriptで再帰の応用例

再帰

必要な条件は適用されます:①のプロセスを説明して②明確なエンド再帰のために独自の条件が含まれています。

主なアイデア:場合は、すべて、自分自身を呼び出して、問題を解決するために、同じ方法を使用しますが、コールのパラメータが毎回(定期的な変更)異なっている、この条件が満たされた場合、終了処理(エ​​ンド再帰)条件を使用して、この疾患は、再帰を終了するために直接解を得ることができます。

例1:

2つのバイナリツリーを考えると、それらが同一であるかどうかを確認する関数を記述します。

2は、構造ツリーに同一であり、ノードが同じ値を持っている場合、それらは同一とみなされます。

例1:

入力:

入力:11
     / \ / \
     2323

[1,2,3]、[1,2,3]

出力:真

例2:

入力:11
     / \
     22

[1,2]、[1、NULL、2]

出力:偽(出典:leetcode.com)

VaRのisSameTree =関数(P、Q){
  (P == nullの&& Q == nullが)場合は
    trueを返します
  ((P == nullの&& Q!= NULL)||(P!= nullの&& Q == null)の場合)
    falseを返します。
  戻りp.val == q.val && isSameTree(p.left、q.left)&& isSameTree(p.right、q.right)
}。

 

例2:

私たちは、山と呼ばれ、配列の次の属性に準拠:A.length> = 3

    (出典:leetcode.com)

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/keang001/p/11551004.html