輸出樣例1:
38 45 24 58 42 30 12 67 51
yes輸入樣例2:
838 24 12 45 58 67 42 51
輸出樣例2:
38 45 24 58 42 12 67 51
no
#include #include #include using namespace std;
int k;
struct tree
};void insert_(tree *a,int x,int k)
else
insert_(a->ls,x,k+1);
}else
else
insert_(a->rs,x,k+1);
}}int flag;
int judge(tree *a,int k)
if(a->ls==null&&a->rs!=null)//左空右不空
return 0;//已經是錯誤的了,其實不用管flag了
if(a->rs==null)//左不空右空
flag=0;return 1;//左右皆不空.
}else
return !(a->ls||a->rs);//不可以放,存放乙個就不對
}if(a->ls==null||a->rs==null)
return 0;
int ans1=judge(a->ls,k+1),ans2=judge(a->rs,k+1);
if(!ans1)
return 0;
return ans2;
}queueq;
void preorder(tree *root)
}int main()
if(n==1)
flag=0;
preorder(root);
puts("");
puts(judge(root,1)?"yes":"no");
}
L3 010 是否完全二叉搜尋樹
l3 010.是否完全二叉搜尋樹 將一系列給定數字順序插入乙個初始為空的二叉搜尋樹 定義為左子樹鍵值大,右子樹鍵值小 你需要判斷最後的樹是否一棵完全二叉樹,並且給出其層序遍歷的結果。輸入格式 輸入第一行給出乙個不超過20的正整數n 第二行給出n個互不相同的正整數,其間以空格分隔。輸出格式 將輸入的n...
L3 010 是否完全二叉搜尋樹
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越將一系列給定數字順序插入乙個初始為空的二叉搜尋樹 定義為左子樹鍵值大,右子樹鍵值小 你需要判斷最後的樹是否一棵完全二叉樹,並且給出其層序遍歷的結果。輸入格式 輸入第一行給出乙個不超過2...
L3 010 是否完全二叉搜尋樹
將一系列給定數字順序插入乙個初始為空的二叉搜尋樹 定義為左子樹鍵值大,右子樹鍵值小 你需要判斷最後的樹是否一棵完全二叉樹,並且給出其層序遍歷的結果。輸入格式 輸入第一行給出乙個不超過20的正整數n 第二行給出n個互不相同的正整數,其間以空格分隔。輸出格式 將輸入的n個正整數順序插入乙個初始為空的二叉...