馬老師Elastic Stack&Elastic認(rèn)證特訓(xùn)
非遞歸
class OrderTraversal {
? ?public List<Integer> preorderTraversal(TreeNode root) {
? ? ? ?List<Integer> result = new ArrayList<>();
? ? ? ?Stack<TreeNode> treeNodeStack = new Stack<>();
? ? ? ?TreeNode node = root;
? ? ? ?while (node != null || !treeNodeStack.isEmpty()) {
? ? ? ? ? ?while (node != null) {
? ? ? ? ? ? ? ?treeNodeStack.add(node);
? ? ? ? ? ? ? ?result.add(node.val);
? ? ? ? ? ? ? ?node = node.left;
? ? ? ? ? ?}
? ? ? ? ? ?node = treeNodeStack.pop().right;
? ? ? ?}
? ? ? ?return result;
? ?}}

標(biāo)簽: