二叉树右视图
vector<int> rightSideView(TreeNode* root) {
vector<int> result;if(root == NULL) {
return result;
}
queue<TreeNode*> nodeRow;
bool sign=1;
nodeRow.push(root);
int length=0;
int q_num=1;
while(!nodeRow.empty()) {
if (sign==1){
length=nodeRow.size();
sign=0;
}
if (q_num==length){
sign=1;
q_num=0;
TreeNode* node = nodeRow.front();
result.push_back(node->val);
}
TreeNode* node = nodeRow.front();
nodeRow.pop();
q_num++;
if(node->left != NULL) {
nodeRow.push(node->left);
}
if(node->right != NULL) {
nodeRow.push(node->right);
}
}
return result;
}