102. Binary Tree Level Order Traversal

Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

For example:
Given binary tree[3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

return its level order traversal as:

[
  [3],
  [9,20],
  [15,7]
]

這題目是level order的尋訪二元樹,回傳為陣列 首先,第一種解法利用DFS,先找出樹有幾層,再分層找有哪些node


int height(struct node* node)
{
    if (node==NULL)
        return 0;
    else
    {
        /* 先找最左的node,再找右,一層一層計算樹高 */
        int lheight = height(node->left);
        int rheight = height(node->right);

        return (lheight > rheight)?(lheight+1):(rheight+1);

    }
}

Reference:

geeksforgeeks: http://www.geeksforgeeks.org/level-order-tree-traversal/

results matching ""

    No results matching ""