Description
如果二叉树的左右子树的结构是对称的,即两棵子树皆为空,或者皆不为空,则称该二叉树是对称的。编程判断给定的二叉树是否对称。
例如:如图中的二叉树T1是对称的,T2是不对称的。
二叉树用顺序结构给出,若读到#则为空,二叉树T1=ABCED,T2=ABCE#D,如果二叉树是对称的输出“Yes”,反之输出“No”。
Input
Output
Sample Input
ABCDE
Sample Output
Yes
解题思路:先读入字符串,初始化,用循环,如果它左右不对称,就输出No,结束整个程序,不然输出Yes。
程序:
var
s:string;
i:longint;
begin
readln(s);
for i:=1 to length(s)+1 do
s:=s+'#';
for i:=1 to length(s) do
if ((s[i*2]<>'#') or (s[i*2+1]<>'#')) and ((s[i*2]='#') or (s[i*2+1]='#')) then
begin
writeln('No');
halt;
end;
writeln('Yes');
end.
版权属于:Chris
原文地址:http://blog.sina.com.cn/s/blog_83ac6af80102v0m8.html
转载时必须以链接形式注明原始出处及本声明。