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;
      }
    };

  • 相关阅读:
    ptunnel-简易使用
    socat-简易使用
    ncat-相关参数用法
    通过iodine简单实现dns隧道技术
    HTB-靶机-Safe
    HTB-靶机-Rope
    【mysql子查询&组合查询 05】
    【mysql 库表操作 07】
    【mysql插入&修改&删除 06】
    【mysql 连接查询 04】
  • 原文地址:https://www.cnblogs.com/shoemaker/p/4766064.html
Copyright © 2011-2022 走看看