LeetCode:Binary Tree Right Side View

来源:互联网 发布:天津淘宝托管 编辑:程序博客网 时间:2024/05/21 16:58

题目描述:

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


思路分析:层序遍历二叉树,将每层最后一个节点的值保存到结果中。


代码:

class Solution{public:vector<int> rightSideView(TreeNode * root){queue<TreeNode *> temp_queue;vector<int> result;if(root == NULL)return result;temp_queue.push(root);while(!temp_queue.empty()){int val = temp_queue.back()->val;result.push_back(val);int queue_size = temp_queue.size();for(int i = 0;i < queue_size;i++){TreeNode * temp_treeNode = temp_queue.front();temp_queue.pop();if(temp_treeNode->left != NULL)temp_queue.push(temp_treeNode->left);if(temp_treeNode->right != NULL)temp_queue.push(temp_treeNode->right);}}return result;}};


0 0