LeetCode - 101. Symmetric Tree - C++

由于想着二叉树一般考前中后序遍历,于是想着对称的树中序遍历,是回文。按这个思路实现后,提交错误,错误案例:[1,2,2,2,null,2]。天哪,狡猾,两边的数字一样。

此时我想着,如果记叶节点的节点为null,这样遍历下来是不是可以解决上面的问题?实现之后发现还是不行。未通过案例:[1,2,2,2,null,2]。画出图来非常巧妙,惊到了。看来我的中序遍历彻底被否

虽然上面的方法不行,也是有所得的。过程中有两个小插曲

1)c++这种强类型语言,中序遍历怎样能把null和节点数字一起记在vector中?vector的类型是确定的呀。看了答案后,得到灵感:记指针不就好了嘛。。。

2)加上null为叶节点后,最后一个null需要手工加到遍历序列后面,因为此时栈空而且pNode == null。具体看没过的代码吧

 

后面看了Solution,又过了两天之后自己可以凭记忆实现递归和非递归解法。

时隔这么多月刷的第一道题,从看题到完成用了5天。加油吧!

你可能感兴趣的:(LeetCode - 101. Symmetric Tree - C++)