1448. 统计二叉树中好节点的数目 ( 二叉树遍历 )
作者:互联网
LeetCode:1448. 统计二叉树中好节点的数目
「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。
要求算出二叉树中好节点的个数。
实际就是二叉树的前序遍历
中序遍历应该也可以 ( 猜
需要留意的地方,节点的值可以是 负数的
AC Code
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
int ans = 0;
public int goodNodes(TreeNode root) {
if(root == null) return ans;
// 节点可能是 负的, 不能传 0
// dfs(root, 0);
dfs(root, Integer.MIN_VALUE);
return ans;
}
public void dfs(TreeNode node, int mx){
if(node == null) return ;
if(mx <= node.val) {
mx = node.val;
ans++;
}
dfs(node.left, mx);
dfs(node.right, mx);
}
}
标签:node,TreeNode,val,int,二叉树,中好,节点,1448 来源: https://blog.csdn.net/qq_43765535/article/details/111470758