zoukankan      html  css  js  c++  java
  • [LeetCode] 199

    Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.

    For example:
    Given the following binary tree,

       1            <---
     /   
    2     3         <---
          
      5     4       <---
    

    You should return [1, 3, 4].

    /**
    * 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<int> rightSideView(TreeNode* root) {
        vector<int> res;
        if (root == nullptr) {
          return res;
        }
        queue<TreeNode*> nodeQueue;
        nodeQueue.emplace(root);
        while (!nodeQueue.empty()) {
          int num = nodeQueue.size();
          TreeNode *n;
          for (int i = 0 ; i < num; ++i) {
            n = nodeQueue.front();
            nodeQueue.pop();
            if (n->left) {
              nodeQueue.emplace(n->left);
            }
            if (n->right) {
              nodeQueue.emplace(n->right);
            }
          }
          res.emplace_back(n->val);
        }
        return res;
      }
    };

  • 相关阅读:
    ubuntu 15.10 64bit 下 steam无法启动
    ubuntu下使用OBS开斗鱼直播
    sql server 2008 management studio安装教程
    navicat for mysql 破解版
    nginx 重写去掉index.php
    phpstorm 注册码破解
    tp where使用数组条件,如何设置or,and
    PHPstorm 配置主题
    IE下无法保存Cookie和Session问题
    GitLab的安装及使用
  • 原文地址:https://www.cnblogs.com/shoemaker/p/4766064.html
Copyright © 2011-2022 走看看