面试题二十八:对称的二叉树
判断相对根节点的左右子树是否一样
方法:比较二叉树的前序遍历序列和对称前序遍历序列
比较用左左和右的右比较,左的右和右的左比较
1 boolean f1(BinaryTreeNode pRoot ){ 2 return f2(pRoot, pRoot); 3 } 4 boolean f2(BinaryTreeNode pRoot1,BinaryTreeNode pRoot2){ 5 if( pRoot1==null && pRoot2==null ) return true; //同时到达边界 6 if( pRoot1==null || pRoot2==null ) return false; //不相等 7 8 if( pRoot1.val != pRoot2.val ) return false ; //不相等 9 10 return f2( pRoot1.L , pRoot2.R ) && f2( pRoot2.L , pRoot1.R ) ; 11 12 }
浪波激泥