在遍历时确保传递正确的根节点
例如,在递归遍历二叉树时,如果某个节点为空,则返回 NULL。在这种情况下,我们需要在递归调用时传递正确的根节点,以便它不会变成 NULL。下面是一个示例代码:
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
void traverse(struct TreeNode *root) {
if (!root) return;
// 遍历左子树
traverse(root->left);
// 执行一些操作
printf("%d ", root->val);
// 遍历右子树
traverse(root->right);
}
在上面的示例代码中,我们始终传递正确的根节点 root
,这样它就不会变成 NULL。如果在遍历中遇到空节点的情况,我们只是简单地返回,而不是继续遍历它的子节点。这里的关键在于,我们在递归调用中传递了正确的根节点,以便它不会变成 NULL。
下一篇:遍历时间戳并计算它们之间的差异