#include <stdio.h>
struct Node {
int val;
struct Node * left, right;
};
void travel(struct Node *head, bool top=true) {
static bool flag_has_even;
if (top) flag_has_even = false;
if (head) {
if (head->val & 1 == 0) {
flag_has_even = true;
printf("%d ", head->val); // 打印偶数
}
travel(head->left, false);
travel(head->right, false);
}
if (top && !flag_has_even){
printf("没有偶数");
}
}
/*
TEST:
可能输入
1. NULL
2. 单节点:奇数 偶数
3. 双节点:奇NULL偶 奇偶NULL 偶NULL奇 偶奇NULL
4. 三节点
*/
网友评论