二叉树的前中后序遍历
二叉树的前中后遍历,其前中后,您可理解为指的是根结点所在的序。 前序遍历:前序遍历的顺序为根-左-右 中序遍历:中序遍历的顺序为左-根-右 后序遍历:后序遍历的顺序为左-右-根 1.前序遍历 思路:利用栈后进先出的特性。 1.根结点入栈; 2.循环取栈顶元素、右子结点入栈、左子结点入栈。 JAVA参考代码 public class TreeNode { int val ; TreeNode left ; TreeNode right ; TreeNode ( int val ) { this . val = val ; } } public List < Integer > preorderTree ( TreeNode root ) { Stack < TreeNode > stack = new Stack < > ( ) ; List < Integer > preorder = new ArrayList < > ( ) ; if ( root == null ) { return preorder ; } stack . push ( root ) ; while ( ! stack . empty ( ) ) { TreeNode node = stack . pop ( ) ; preorder . add ( node . val ) ; if (