有点烦的。。书上给了这道题,提示可能被印刷没印好看不了,求个大牛给下相关思想。最好附带下代码,那道题的答案刚好也没有,愁死我了谢谢啊

解决方案 »

  1.   

    1、从根节点开始往下遍历左节点,直到找不到左节点时,此时的节点就是完全二叉树的层数n;
    2、继续遍历,遇到只有右节点的节点说明不是完全二叉树;
    3、层数不等于n或n-1的都不是完全二叉树;若层数为n-1,接下来只要层数不等于n-1就不是完全二叉树
    3、第一次遇到只有左节点的节点,若此节点的层数不是n-1则不是完全二叉树;否则继续,此时层数是n-1,接下来只要层数不等于n-1就不是完全二叉树;
    4、第二次遇到只有左节点的节点,不是完全二叉树;
      

  2.   

    return recursive(root.left) and recursive(root.right)
    写个递归应该能完成你的要求