zoukankan      html  css  js  c++  java
  • [leetcode] Binary Tree Right Side View

    Binary Tree Right Side View

    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].

    Credits:
    Special thanks to @amrsaqr for adding this problem and creating all test cases.
     
    思路:层次遍历,取每层最后一个节点。
     
    /**
    * 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> ret;
        queue<TreeNode*> myque;
    
        if(NULL == root) return ret;
        myque.push(root);
        int len = 0;
        TreeNode *ptr;
    
        while(!myque.empty())
        {
          len = myque.size();
          for(int i=0; i<len; i++)
          {
            ptr = myque.front();
            myque.pop();
    
            if(ptr->left) myque.push(ptr->left);
            if(ptr->right) myque.push(ptr->right);
          }
          ret.push_back(ptr->val);
        }
    
        return ret;
      }
    };
  • 相关阅读:
    STM32之滴答定时器
    串口--USART1
    风扇--PWM控制
    触摸屏移植Emwin
    emwin--GUI
    extern
    STM32之定时器时间计算
    stm32之定时器
    stm32之PWM
    stm32之SPI
  • 原文地址:https://www.cnblogs.com/lxd2502/p/4481370.html
Copyright © 2011-2022 走看看