public static int getNodeNumLeaf(TreeNode root){
        if(root == null){
            return 0;
        }
        int leafNodeNum = 0;
        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        queue.add(root);

        while (!queue.isEmpty()){
            TreeNode tmpNode = queue.remove();
            if(tmpNode.leftNode == null && tmpNode.rightNode == null){
                leafNodeNum++;
            }
            if(tmpNode.leftNode != null){
                queue.add(tmpNode.leftNode);
            }
            if(tmpNode.rightNode != null){
                queue.add(tmpNode.rightNode);
            }
        }
        return leafNodeNum;
    }