LeetCode 965.单值二叉树 C写法
思路🧐:
用前序遍历的方式,如果左结点或右结点不为空且值不相等就直接返回false,如果走完一颗子树,结点为空了就返回true到上一层递归,直到左右子树全部走完,全为true便是单值二叉树。
代码🔎:
bool isUnivalTree(struct TreeNode* root) { if(root == NULL) return true; if(root->left && root->left->val != root->val) return false; if(root->right && root->right->val != root->val) return false; return isUnivalTree(root->left) && isUnivalTree(root->right); }