#include#include#include//插入標準庫中的標頭檔案
using namespace std;
typedef struct treenode
*node;
//建立二叉樹
void creat_tree(treenode *&rt)
else
}//層次遍歷
bool complete_binary_tree(treenode *&root)
deque c; //定義乙個空的佇列
c.push_back(root);
while (!c.empty())
else
}} }
return 1;
}int main()
/*如果想實現反序輸出,只需要在這裡新增乙個棧就可以實現了。
*//*
abd##e##cf###
abd##e##c#f##
*/
完全二叉樹判斷
有一棵二叉樹,請設計乙個演算法判斷它是否是完全二叉樹。給定二叉樹的根結點root,請返回乙個bool值代表它是否為完全二叉樹。樹的結點個數小於等於500。1 按照層遍歷 2 若有右孩子,沒有左孩子,返回false 3 並不是左右孩子都有,後面必須為葉節點 4 便利過程中如果不返回false,則返回t...
判斷完全二叉樹
思路 根據完全二叉樹的定義可知,對完全二叉樹按從上到下,從左到右的 即層序遍歷 遍歷,應該滿足以下兩點 1 若某結點沒有左孩子,則一定沒有右孩子 2 若某節點無左右孩子,則其後繼結點一定沒有孩子 若不滿足以上的任意一條,則一定不是完全二叉樹。因此可採用層序遍歷二叉樹的方法對每個節點判斷是否滿足以上兩...
判斷完全二叉樹
1 definition for a binary tree node.2 class treenode 3 def init self,val 0,left none,right none 4 self.val val5 self.left left6 self.right right78 判斷乙...