• Leetcode题目: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,#,#,15,7},

        3
       / 
      9  20
        /  
       15   7
    

    return its level order traversal as:

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

    题目解答:这个题目非常简单,就是二叉树的层次遍历。需要两个整型的临时变量分别记录当前层的节点数目和下一层的节点数目。使用队列来存储这个二叉树节点遍历的先后顺序。

    代码:

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        vector<vector<int> > levelOrder(TreeNode* root) {
            int curnum = 0;
            int childnum = 0;
            vector<vector<int> > res;
            if(root == NULL)
            {
                return res;
            }
            queue<TreeNode *> TreeQueue;
            TreeQueue.push(root);
            curnum = 1;
            while(curnum != 0)
            {
                vector<int> tmp;
                while(curnum != 0)
                {
                    TreeNode *p = TreeQueue.front();
                    tmp.push_back(p -> val);
                   
                    if(p -> left != NULL)
                    {
                        TreeQueue.push(p -> left);
                        childnum++;
                    }
                    if(p -> right != NULL)
                    {
                        TreeQueue.push(p -> right);
                        childnum++;
                    }
                   
                    TreeQueue.pop();
                    curnum--;
                }
                res.push_back(tmp);
                curnum = childnum;
                childnum = 0;
            }
            return res;
        }
    };

  • 相关阅读:
    自制编译器 青木峰郎 笔记 Ch8 AST生成
    自制编译器 青木峰郎 笔记 Ch7 JavaCC的action和AST
    POJ 3349-Snowflake Snow Snowflakes-字符串哈希
    POJ 2112-Optimal Milking-二分答案+二分图匹配
    POJ 1258 -Agri-Net- 最小生成树
    POJ 1125-Stockbroker Grapevine-最短路
    POJ 3621-Sightseeing Cows-最优比率环|SPFA+二分
    POJ2976-Dropping tests-01分数规划
    POJ 3020 -Antenna Placement-二分图匹配
    POJ 3041-Asteroids-二分图匹配
  • 原文地址:https://www.cnblogs.com/CodingGirl121/p/5431172.html
Copyright © 2020-2023  润新知