zoukankan      html  css  js  c++  java
  • LeetCode199 二叉树的右视图

    给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

    示例:

    输入: [1,2,3,null,5,null,4]
    输出: [1, 3, 4]
    解释:

    1 <---
    /
    2 3 <---

    5 4 <---

    可以选择bfs或者dfs。这里用bfs,用queue实现

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     vector<int> rightSideView(TreeNode* root) {
    13         if(root==nullptr)
    14             return {};
    15         vector<int> ret;
    16         queue<TreeNode*> qTree;
    17         int num=1;
    18         qTree.push(root);
    19         while(num){
    20             int last_layer=num;
    21             num=0;
    22             while(last_layer!=1){
    23                 TreeNode* temp=qTree.front();
    24                 qTree.pop();
    25                 if(temp->left!=nullptr){
    26                     qTree.push(temp->left);
    27                     ++num;
    28                 }
    29                 if(temp->right!=nullptr){
    30                     qTree.push(temp->right);
    31                     ++num;
    32                 }
    33                 --last_layer;
    34             }
    35             TreeNode* temp=qTree.front();
    36             qTree.pop();
    37             ret.push_back(temp->val);
    38             if(temp->left!=nullptr){
    39                 qTree.push(temp->left);
    40                 ++num;
    41             }
    42             if(temp->right!=nullptr){
    43                 qTree.push(temp->right);
    44                 ++num;
    45             }
    46         }
    47         return ret;
    48     }
    49 };
  • 相关阅读:
    linux 进程操作脚本
    go 项目监听重启
    go 小题
    beego 基础
    beego 接口开发
    beego 安装
    mongo curd
    html的学习(一)
    ssl
    java编码的学习
  • 原文地址:https://www.cnblogs.com/rookiez/p/13305917.html
Copyright © 2011-2022 走看看