之前看编程珠玑的时候,记得先要有想法,就好像 啊哈!灵机一动。
然后要有相应的很好的数据结构。
最后编码。
这是我的一个理解。
然后这个题,真心呵呵。
自从本蒟蒻知道了二叉树序列化之后,就各种用。然后在这儿就用不停的Wa,190个测试数据
188个通过。
蛋疼。
憋了一天,忍不住了,看别人的想法,哎哟我去!这么点代码,蛋疼。
其实就是递归。只是递归的时候注意技巧,原则就是镜像。
附上代码。修改思路之后,一次AC。
class Solution { public: bool isSymmetric(TreeNode *root) { // Note: The Solution object is instantiated only once and is reused by each test case. if(root == NULL) return true; return CheckEqual(root-&amp;gt;left,root-&amp;gt;right); } bool CheckEqual(TreeNode * left,TreeNode * right) {<br /> if(left == NULL &amp;amp;&amp;amp; right == NULL) return true; if((left == NULL &amp;amp;&amp;amp; right != NULL)||(left != NULL &amp;amp;&amp;amp; right == NULL)) return false; if(left-&amp;gt;val != right -&amp;gt;val) return false; return CheckEqual(left-&amp;gt;left,right-&amp;gt;right)&amp;amp;&amp;amp;CheckEqual(left-&amp;gt;right,right-&amp;gt;left); } };