電源ボタン - すべてのバイナリのパス

バイナリツリーを考えると、ルート・ノードからのすべてのパスは、リーフノードを返します。

説明:リーフノードは、ノードが子ノードを持たないです。

例:

入力:

   1
 / \
23
 \
  5

出力:[ "1-> 2-> 5"、「1 - > 3「]

説明:リーフノード・パスへのすべてのルートノード:1-> 2-> 5 1-> 3

ソース:ボタン(LeetCode)滞在
リンクします。https://leetcode-cn.com/problems/binary-tree-paths
すべてのネットワークからの控除が著作権を保有。商業転載は許可公式、非商用の転載は、ソースを明記してくださいお問い合わせください。

 

 

/ ** 
 *バイナリツリーノードの定義。
 *公共のクラスのTreeNode { 
 * int型のval; 
 *のTreeNodeは左。
 *ツリーノードを右。
 *ツリーノード(INT X){ヴァル= X。} 
 *} 
 * / 
クラスソリューション{
     パブリックリストの<string> binaryTreePaths(ツリーノードのルート){ 
        リストの<string> RET = 新規のArrayList <> ();
        もし(ルート== nullのリターンRET; 
        (ルートを解決する "" 、RET)。
        リターンRET; 
    } 
    公共 のボイド(ツリーノードのルート、文字列CUR、リストの<string>解決RET){
         場合(ルート== NULLリターン; 
        CUR + = root.val。
        もし(root.left == NULL && root.right == NULL ){ 
            ret.add(CUR)。
        } { 
            (root.left、CUR解決 " - >" + 、RET)を、
            解決(root.right、CUR + " - >" 、RET)。
        } 
    } 
}

 

おすすめ

転載: www.cnblogs.com/JAYPARK/p/11260895.html