void gen_right(TreeNode *root, int lev, vector<int>& res) {
        if (!root) {return;} 
        
        if (res.size() < lev) {res.push_back(root->val);}
        
        gen_right(root->right, lev + 1, res);
        gen_right(root->left, lev + 1, res);
    }
Example #2
0
LLVMValueRef gen_right_assign(struct node *ast)
{
	LLVMValueRef result;

	result = gen_right(ast);
	check_store(result, lvalue(ast->one));

	return result;
}
vector<int> rightSideView(TreeNode* root) {
        vector<int> res;
        if (!root) {return res;}
        
        res.push_back(root->val);
        int lev = 1;
        
        gen_right(root, lev, res);
        
        return res;
    }