二叉树的preorder,inorder,postorder三种遍历方式,通过递归都能比较优雅的实现,但是递归可能会遇到递归栈过深的情况,如果考虑到这些情况,可以用stack栈替代递归的方案,这里列举三种遍历方式用递归替代的方案,个人认为比较巧妙。
preorder
1 | public List<Integer> preorderTraversal(TreeNode root) { |
inorder
1 | public List<Integer> inorderTraversal(TreeNode root) { |
postorder
1 | public List<Integer> postorderTraversal(TreeNode root) { |