LeetCode 104 Maximum Depth of Binary Tree

    xiaoxiao2021-03-25  95

    题意

    基本的求二叉树的深度题

    题解

    1:判断特殊情况,根节点为NULL,函数返回深度为0 2:第二种特殊情况,只有根节点(不判断也可) 3:递归调用求出左子树和右子树的深度 最后返回二者大的深度+根节点深度1

    C语言

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ int maxDepth(struct TreeNode* root) { if(root == NULL) return 0; //if((root->left == NULL) && (root->right == NULL)) // return 1; int ldepth = maxDepth(root->left); int rdepth = maxDepth(root->right); return ldepth > rdepth ? (ldepth+1) : (rdepth+1); }

    Java语言

    /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public int maxDepth(TreeNode root) { if(root == null) return 0; int ldepth = maxDepth(root.left); int rdepth = maxDepth(root.right); return ldepth > rdepth ? (ldepth+1) : (rdepth+1); } }
    转载请注明原文地址: https://ju.6miu.com/read-24349.html

    最新回复(0)