nbfuhao avatar

[LeetCode] Binary Tree Level Order Traversal in Objective C

nbfuhao

Published: 06 Mar 2017 › Updated: 06 Mar 2017[LeetCode] Binary Tree Level Order Traversal in Objective C

[LeetCode] Binary Tree Level Order Traversal in Objective C

typedef struct {
     int value;
    struct TreeNode *left;
    struct TreeNode *right;
 } TreeNode;
  
-(NSMutableArray *)levelOrder:(TreeNode *)treeNode
{
   NSMutableArray *levelOrderArray = [NSMutableArray array];
   if (treeNode == nil) return levelOrderArray;
  
   NSMutableArray *queue = [NSMutableArray array];
   [queue addObject: treeNode];
   while (queue.count != 0) {
     NSMutableArray *eachLevelArray = [NSMutableArray array];
     int size = queue.count;
     for (int i = 0; i<size; i++) {
        treeNode *node = [queue firstObject];
        [queue removeObjectAtIndex: 0]; 
        [eachLevelArray addObject: node];
        if (node.left)  {
          [queue addObject: node.left];
        }
        if (node.right) {
          [queue addObject: node.right];
        }
     }
     [levelOrderArray addObject: eachLevelArray];
   }
  return levelOrderArray;
}

Leave [LeetCode] Binary Tree Level Order Traversal in Objective C to:

Written by

Software Engineer, writing Swift and Objective codes

Read more #leetcode posts


Best Posts From nbfuhao

We have not curated any of nbfuhao's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From nbfuhao