Binary Tree Right Side View: runtime 4ms


  • 0
    H
    class Solution {
    public:
        vector<int> rightSideView(TreeNode* root) {
                 vector<int> v;
    		queue<TreeNode*> que1,que2;
    		if(root==NULL)
    			return v;
    		else
    			que1.push(root);
    		//
    		TreeNode* tmp;
    		while(!que1.empty()||!que2.empty())
    		{
    			if(!que1.empty())
    			{
    				while(!que1.empty())
    				{
    					tmp=que1.front();
    					if(tmp->left!=NULL)
    						que2.push(tmp->left);
    					if(tmp->right!=NULL)
    						que2.push(tmp->right);
    					que1.pop();
    				}
    				v.push_back(tmp->val);
    			}
    			else
    			{
    				while(!que2.empty())
    				{
    					tmp=que2.front();
    					if(tmp->left!=NULL)
    						que1.push(tmp->left);
    					if(tmp->right!=NULL)
    						que1.push(tmp->right);
    					que2.pop();
    				}
    				v.push_back(tmp->val);
    			}
    		}
    
    		return v;
        }
    };

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.