bool tag = true;
void dfs(node* root) {
if (root == nullptr) return;
dfs(root->lchild);
dfs(root->rchild);
if (tag) tag = false; // 这个控制格式打印输出厉害了
else printf(" ");
printf("%d", root->val);
}
使用 tag 作为标记,第一次访问到的时候,将 tag 置为 false,以后再访问到 tag,先输出空格。每一次访问数据,只输出数据即可。
非常适合 pat 中的控制数据以空格分割,但是最后不留空格的输出。
第一次输出数据的时候前面不加空格,之后的输出,先输出空格,再输出数据。