Skip to content

Instantly share code, notes, and snippets.

@HongzCloud
Created June 21, 2021 12:40
Show Gist options
  • Save HongzCloud/8985e3f021d9466e738704921cb5b012 to your computer and use it in GitHub Desktop.
Save HongzCloud/8985e3f021d9466e738704921cb5b012 to your computer and use it in GitHub Desktop.
binary-tree-level-order-traversal
class Solution {
func levelOrder(_ root: TreeNode?) -> [[Int]] {
guard let root = root else { return [] }
var q = [TreeNode]()
var lists = [[Int]]()
q.append(root)
while !q.isEmpty {
lists.append(q.map { $0.val })
print(lists, "list")
q = q.reduce([]) { l, t in
l + [t.left, t.right] // [] + [2,2] = [2,2]
}.compactMap({$0})
}
return lists
}
}
var rootTest = TreeNode(3, TreeNode(9), TreeNode(20, TreeNode(15), TreeNode(7)))
var tlal = TreeNode(3, TreeNode(2, TreeNode(10), TreeNode(10)), TreeNode(2, TreeNode(10), TreeNode(10)))
Solution().levelOrder(tlal)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment