当前位置:   article > 正文

完全二叉树的节点个数-递归

完全二叉树的节点个数-递归

题目描述:

个人题解:

        在对是否有根节点判断完成后,再分别递归调用左右子树,从而来计算二叉树节点。

代码实现:

  1. /**
  2. * Definition for a binary tree node.
  3. * public class TreeNode {
  4. * int val;
  5. * TreeNode left;
  6. * TreeNode right;
  7. * TreeNode() {}
  8. * TreeNode(int val) { this.val = val; }
  9. * TreeNode(int val, TreeNode left, TreeNode right) {
  10. * this.val = val;
  11. * this.left = left;
  12. * this.right = right;
  13. * }
  14. * }
  15. */
  16. class Solution {
  17. public int countNodes(TreeNode root) {
  18. return root == null ? 0 : countNodes(root.left) + countNodes(root.right) + 1;
  19. }
  20. }

复杂度分析:

时间复杂度:O(log 2^n),其中 n 是完全二叉树的节点数。

空间复杂度:O(log 2^n),其中 n 是完全二叉树的节点数。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号