Friday, January 04, 2019

Symmetric Tree 解题分析和体验


昨天晚上讲一个 linkedin 的 easy 题, Symmetric Tree.

有 4 种解法。 入门学习和复习不错。

谢谢各位来捧场,运气好,代码一遍通过。 

谢谢坛主和同学们的鼓励。咱新年做简单题,就是找找自信。哈哈哈。

延续前两天知乎的帖子,说到我,理解力和抽象能力差,记忆力也差。
只能靠毅力,依靠咱们这个社区,互相加油督促,帮助前进。


我自己挺喜欢顿悟的,每次突然打通一个环节,都要高兴一阵子。
看了帖子,才知道 顿悟等于理解力差和抽象能力差。 汗颜 😅

我用自己的土办法递归和循环两种方法(global stack 存储所有节点值),做完此题以后,偶尔看到 Gavin Fish 的思路。先是惊喜,然后是感到惭愧。

惊喜我一看到 function definition, 就顿悟了,打通任督二脉,后面的代码都不需要看了。 
(不过, 顿悟 = 理解力和抽象能力差,嘿嘿 )
函数定义 是 令狐冲老师说的递归三要素,能够定义好 function type (input, output) 还真是特别重要。

惭愧的是 Gavin Fish 的代码量只有咱的三分之一,真是简洁。我就喜欢简洁明了的代码。
我判断了那么多边界条件,人家两行代码就全部解决了。
简明的代码,容易理解,还容易测试,不易出错。

抽象能力太重要了,能够把各种边界条件归类并用简明的代码处理,就是一种抽象能力。

另外, 视频座谈的时候,我个人喜欢观众语音发言提问,多多交互。
好比说相声,有人递话和提问,故事才容易自然发展下去。


同学们的评论:


  • 赞多思路总结 把树类型的各个常用解法都用了一遍 非常棒的练习方式.
  • 题目做透,举一反三.
  • 每一道题其实一体多解是很好的方法复习之前的知识点.
  • 我还一个建议,说完算法之后报时间和空间复杂度,这样可以尽快和面试官确认是否是他们理想的复杂度值.

参考:


No comments: