update with divide and conquer solution
update with iterative way via level order traversal