• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

waterrzhang

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

层序遍历

/**
 * struct TreeNode {
 *    int val;
 *    struct TreeNode *left;
 *    struct TreeNode *right;
 * };
 */

class Solution {
public:
    /**
     * 
     * @param root TreeNode类 
     * @return int整型vector<vector<>>
     */
    vector<vector<int> > levelOrder(TreeNode* root) {
        vector<vector<int>> result;
        queue<TreeNode*> levelNode;
        TreeNode* currentNode;
        if (root == nullptr)
            return result;
        vector<int> curLevel;
        levelNode.push(root);
        while (!levelNode.empty())
        {
            curLevel.clear();
            int n = levelNode.size();
            for (int i = 0; i < n; i++)
            {
                currentNode = levelNode.front();
                levelNode.pop();
                curLevel.push_back(currentNode -> val);
                if (currentNode -> left != nullptr)
                    levelNode.push(currentNode -> left);
                if (currentNode -> right != nullptr)
                    levelNode.push(currentNode -> right);
            }
            result.push_back(curLevel);
        }
        return result;
    }
};

 

posted on 2020-09-15 15:16  waterrzhang  阅读(69)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3