左葉子之和 深度優先

2021-10-09 15:58:36 字數 970 閱讀 3730

計算給定二叉樹的所有左葉子之和.

示例:8

/      \

5         20

/       \

11       23

在這個二叉樹中,有兩個左葉子,分別是 5 和 11,所以返回 16

乙個節點為左葉子節點,當且僅當它是某個節點的左子節點,並且它是乙個葉子結點。因此我們可以考慮對整棵樹進行遍歷,當我們遍歷到節點時,如果它的左子節點是乙個葉子結點,那麼就將它的左子節點的值累加計入答案。

package com.loo;

public class leftleafsum

}/**

* @param args

*                       6

*                   /       \

*                4             8

*              /   \          /    \

*           1        5    7         9

*                                      /

*                                   10

*/public static void main(string args)

private static int leftleafsum(treenode root)

if (root.left != null) else

}if (root.right != null && !isleaf(root.right))

return sum;

}private static boolean isleaf(treenode root)

return root.left == null && root.right == null;

}

leetCode 404 左葉子之和

計算給定二叉樹的所有左葉子之和。示例 3 9 20 15 7 在這個二叉樹中,有兩個左葉子,分別是 9 和 15,所以返回 24判斷當前節點是不是左葉子是無法判斷的,必須要通過節點的父節點來判斷其左孩子是不是左葉子。if node left null node left left null node...

leetCode 404 左葉子之和

計算給定二叉樹的所有左葉子之和。示例 3 9 20 15 7 在這個二叉樹中,有兩個左葉子,分別是 9 和 15,所以返回 24判斷當前節點是不是左葉子是無法判斷的,必須要通過節點的父節點來判斷其左孩子是不是左葉子。if node left null node left left null node...

Leetcode 404 左葉子之和

計算給定二叉樹的所有左葉子之和。示例 3 9 20 15 7 在這個二叉樹中,有兩個左葉子,分別是 9 和 15,所以返回 24用乙個變數來儲存當前節點是否是左子節點,如果當前節點是左子節點,在判斷該節點是否是葉子節點,如果是就累加。definition for a binary tree node...