カジュアルワーキング
バイナリツリーが対称でないかを決定するために使用され、機能を実装してください。バイナリ画像は対称としてこの同じ定義を持つバイナリツリーである場合いることに注意してください。
思考
これは再帰的にすべてのNULLの場合、2つのノードに与えられた意味判定された場合、非対称に表し、ヌルがnullでない場合、それは、対称性を意味し、存在しない、二つの値が等しいがあるかどうかを決定する場合、私たちは同じ、また対称ではありません。
ルートの同じ2つのノードが必要な対象を完了するために、対称ノードを見つけることが必要に再帰呼び出しの後の裁判官を入力し始めており、約のために。
コード
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
boolean isSymmetrical(TreeNode pRoot)
{
if(pRoot==null)
return true;
return issys(pRoot.left,pRoot.right);
}
private boolean issys(TreeNode l,TreeNode r){
if(l==null && r==null){
return true;
}
if(l==null ||r==null){
return false;
}
if(l.val!=r.val)
{ return false;}
return issys(l.left,r.right)&& issys(l.right,r.left);
}
}