leetCode 101。对称的树对称树

  

给定一个二叉树,检查是否这是一个镜子本身(即关于中心对称)。例如,

这个二进制tree  <代码>[1、2、2、3、4、4、3]> <>之前,,,,1   ,,/\   2,,,,,2   ,//,/\   3,,4,4,,3


但following  <代码> [1,2,2,null, 3, null, 3]>

<>之前,,,,1   ,,/\   2,,,,,2   ,,\,,\   3,,,,,,3


代码如下:

/* *   ,* Definition  for  a  binary  tree 节点。   ,* struct  TreeNode  {   ,*,,,,int  val;   ,*,,,,TreeNode  *左;   ,*,,,,TreeNode  *正确;   ,*,,,,TreeNode (int  x),:,瓦尔(x),左(NULL),右(NULL), {}   ,*};   ,*/,//思路://1。判断根是否为空,若空则返回真,否则假;//2。判断根→左,根→右是否同时为空,若为空则返回正确;//3。判断根→左,根→右同时不为空时,将根→右反转,   ,//然后判断新根→右和根→左是否为相同的树。   class  Solution  {   公众:   ,,,bool  isSameTree (TreeNode *, p, TreeNode *, q), {   ,,,,,,,bool  childResult;   ,,,,,,,如果(==,,NULL  p ,,, NULL ==,问)   ,,,,,,,,,,,return 真实;   ,,,,,,,如果(,NULL  !=, p ,,, NULL  !=, q ,,, p→val ==,问→val)   ,,,,,,,{   ,,,,,,,,,,,return  childResult =, isSameTree (p→左,问→左),,,,isSameTree (p→q→右);   ,,,,,,,}   ,,,,,,,return 假;   ,,,,,,,,   ,,,}   ,,,,   ,,,void  reverseTree (TreeNode *,根)   ,,,{   ,,,,,,,如果根(!)   ,,,,,,,,,,,返回;   ,,,,,,,TreeNode  * p, q *;   ,,,,,,,p =,根→左;   ,,,,,,,q =,根→正确;   ,,,,,,,根→left =,问;   ,,,,,,,根→right =, p;   ,,,,,,,reverseTree(根→左);   ,,,,,,,reverseTree(根→右);   ,,,}   ,,,,   ,,,bool  isSymmetric (TreeNode *,根),{   ,,,,,,,如果(,(==NULL 根),| |,(==,NULL 根→left ,,,, NULL ==,根→右),)   ,,,,,,,,,,,return 真实;   ,,,,,,,如果(NULL  !=,根→left ,,, NULL  !=,根→右)   ,,,,,,,{   ,,,,,,,,,,,reverseTree(根→右);   ,,,,,,,,,,,return  isSameTree(根→根→左,右);   ,,,,,,,}   ,,,,,,,return 假;   ,,,}   };


leetCode 101。对称的树对称树