注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
本帖最后由 匿名 于 2021-5-7 11:21 编辑
最近面了快10家,看到各种二叉树的花样玩法。总结一下。攒人品! 希望能帮到各位。
基础就是pre-order, in-order, post-order traversal。 所有的变种都是基于这三个的。所以一定要熟练的掌握这三个。
怎么遍历二叉树的边界?(e.g. lc 545)(pre-order + in-order + post-order)
pre-order遍历左子树 拿到左边界, post-order右子树拿到有边界,左半leaf node in-order遍历左子树,右半leaf node in-order 遍历右子树
如何只拿边界,不碰中间的node? 这里不能一直顺着左侧走,因为有可能左子树为空,rtition思想构造二叉树? (e.g. lc 106, lc 108)(pre-order)
quicksort实际上就是pre-order traversal, 如果把每一个partition都想象成一个node
反向思考quicksort就可以利用 in-order + post-order数组构造一棵二叉树
目前就想到这么多,希望对各位有帮助。有任何问题都欢迎交流。
如果看到有任何错误的地方,万望指出,感谢!
祝各位拿到理想的offer
|