10.23随笔

Thanatos-syst / 2024-11-13 / 原文

这里是10.23随笔。
今天我又发现了一种不一样的解题方法,题是昨天的题,这个方法是迭代,代码留档:
int degreeOneNodesIterative(struct TreeNode* root) {
if (root == NULL) {
return 0;
}

int count = 0;
struct TreeNode* current;
SqQueue queue;
InitQueue(&queue);

EnQueue(&queue, root);
while (!IsEmpty(&queue)) {
    DeQueue(&queue, &current);
    
    if (current->left != NULL && current->right == NULL) {
        count++;
    }
    if (current->left == NULL && current->right != NULL) {
        count++;
    }
    
    if (current->left != NULL) {
        EnQueue(&queue, current->left);
    }
    if (current->right != NULL) {
        EnQueue(&queue, current->right);
    }
}

return count;

}