有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java递归地计算二叉树中的子节点

我的编码练习将引用节点计数及其子节点。 我决定使用递归,我想知道这是一种优雅的方法:

假设有一个类节点代表树中的每个节点:

public Node {
  int data:
  Node left;
  Node right;
}


int countChildren(Node head) {
    if(head==null) return 0;
    return countChildren(head.left)+countChildren(head.right)+ 
            ((head.left==null)?0:1) + ((head.right==null)?0:1);
}

共 (1) 个答案

  1. # 1 楼答案

    public Node {
      int data:
      Node left;
      Node right;
    }
    
    
    int countChildren(Node head) {
        if(head==null) return 0;
        return ((head.left == null) ? 0 : countChildren(head.left) + 1) + ((head.right == null) ? 0 : countChildren(head.right) + 1);
    }
    

    这是我的建议