説明は
、バイナリツリーとリターンのノードの最大値を検索します。
説明
中国の
英語
バイナリツリーとリターンのノードの最大値を見つけます。
サンプル
サンプル1:
入力:
1
/
-53
/ \ /
12-4-5
出力:ノード3の値
サンプル2:
入力:
10
/
-52
/ \ /
03-4-5
出力:ノード10の値
public class Solution {
/*
* @param root: the root of tree
* @return: the max node
*/
public TreeNode maxNode(TreeNode root) {
TreeNode maxNode = root;
if(root != null) {
maxNode = getMaxNode(root,maxNode);
}
return maxNode;
}
public TreeNode getMaxNode(TreeNode root,TreeNode maxNode) {
TreeNode leftNode = null;
TreeNode rightNode = null;
if(root.left != null) {
leftNode = root.left;
if(leftNode.val > maxNode.val) {
maxNode = leftNode;
}
maxNode = getMaxNode(leftNode,maxNode);
}
if(root.right != null) {
rightNode = root.right;
if(rightNode.val > maxNode.val) {
maxNode = rightNode;
}
maxNode = getMaxNode(rightNode,maxNode); // 形参的改变不影响实参的值!!所以要再赋值一遍
}
return maxNode;
}
}
パラメータの変更は、引数の値には影響しません!!!!
パラメータの変更は、引数の値には影響しません!!!!
パラメータの変更は、引数の値には影響しません!!!!