1.Binary Tree Inorder Traversal(94)
经典题:二叉树中序遍历。
常见掌握方法包含递归和非递归方法。
顺序为:左子树,节点,右子树
递归代码:https://pastebin.com/NWMswfgN
重点还是在非递归算法上,我们通过手写栈来代替递归栈,减少函数调用的时间,顺着算法思路,我们还是需要一直先往左子树走,手写栈依次保存节点(左子树优先于节点),然后当左子树为空了,可以到栈里退出最前点(当前子树最左下的点),将此点输出,并将指针移到此点的右子树,进行下一轮循环。
非递归代码:https://pastebin.com/pkSvKVLr
网友评论