Advertisement
HXXXXJ

PreOrder - non recursion

Mar 26th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.44 KB | None | 0 0
  1. func preOrder(_ root: TreeNode?) -> [Int]{
  2.     guard let root = root else {
  3.         return []
  4.     }
  5.     var stack = [TreeNode]()
  6.     stack.append(root)
  7.     var res = [Int]()
  8.     while stack.count > 0{
  9.         let cur = stack.removeLast()
  10.         if let right = cur.right{
  11.             stack.append(right)
  12.         }
  13.         if let left = cur.left{
  14.             stack.append(left)
  15.         }
  16.         res.append(cur.val)
  17.     }
  18.     return res
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement