Binary Tree Traversal 非常的套路:
主要有pre-order
in-order
post-order?
三種traversal灯帮。 recursion的實(shí)現(xiàn)方式是最簡單的赠叼,不過一般面試官會考iterative version.
recursion唯一要注意的就是ArrayList declare的位置。declare globally比較方便昌执。 如果declare locally,那么 function 每一次的recursion都會新生成一個list, space上也會花更多。 如果是locally输玷,需要addAll(orderTraversal(root.left/right);
iterative:
3種traversal的iterative 方法都是通過stack的調(diào)用來實(shí)現(xiàn)的檀葛, 第一次見這種題如何推導(dǎo)玩祟? 我覺得如果traversal是第一次見,那基本還是屬于cs的入門階段屿聋。這個階段完全靠自己融會貫通stack 解出來的空扎。藏鹊。∽猓基本可以叫學(xué)神了盘寡。