lintcode-阶梯-剑指最后一章

        lintcode阶梯训练剑指offer最后一章。

        两个简单的没啥可说的,三个中等的就是二叉树的一些操作,简单看了一下,其实跟我以前的二叉树操作的代码有很多重复的东西(我的TreeTools类基本覆盖了).层次遍历就不说了,锯齿层次就是在层次上加个栈就可以达到目的了,序列化和反序列化有很多种方法,刚看到的时候就想到前序遍历和中序遍历了。一棵树很容易求出前序遍历和中序遍历,前序遍历和中序遍历又可以把这个树还原,这不就是序列化和反序列化嘛?

        这章有几个难度比较高的题目,通配符匹配在做动态规划训练的时候已经做过了,带环链表其实就是一道数学题,就是定义两个节点,一个一下走一步(N1),一个一下走两步(N2),那么两个点相遇的时候,一下走两步的比一下走一步的多走x个点,x肯定等于环的个数(走一圈追上来了),那么,她俩走的步数(x步)也就是环的个数了(N2比N1多走x步,)。中位数其实就是个二分查找的题目。

       最后一道是剑指上的一道很经典的题目,建议没看过剑指的人,可以看一下这个题,很有区分性,建议如果复杂度不高的算法想不出来,至少应该把最容易想到的实现方法写出来,有一个循序渐进的过程,这也是一般面试最起码的,当面试官问你一道比较难的题目的时候,第一遍最好不要就想做出多完美的算法来,先把思路跟面试官说一下,然后简单的实现一下,跟面试官交流这样怎么样,第一让面试官看你逻辑思维能力还可以,第二让面试官看你知道有一颗懂得请教的心,最近工作,感触真的挺多的,也常跟我们公司的小boss交流,听他说一些招人的糗事,自己也在慢慢成长中。

       

猜你喜欢

转载自709002341.iteye.com/blog/2273644