代码随想录day14
- 开源代码
- 2025-09-01 17:00:02

226.翻转二叉树
void reverseTree(TreeNode* node){ if(node == nullptr) return; if(node->left) reverseTree(node->left); if(node->right) reverseTree(node->right); TreeNode* tmp = node->left; node->left = node->right; node->right = tmp; } TreeNode* invertTree(TreeNode* root) { reverseTree(root); return root; }101.对称二叉树
bool compare(TreeNode* left, TreeNode* right){ if(!left && !right){ return true; }else if(!left && right){ return false; }else if(left && !right){ return false; }else if(left->val != right->val){ return false; } bool com1 = compare(left->left, right->right); bool com2 = compare(left->right, right->left); bool result = com1 && com2; return result; } bool isSymmetric(TreeNode* root) { if(root == nullptr) return true; return compare(root->left, root->right); }559.N叉树的最大深度
int getDepth(Node* node){ if(node == nullptr) return 0; int max = 0; for(std::vector<Node*>::iterator it = node->children.begin(); it != node->children.end(); ++it){ int depth = getDepth(*it); if(depth > max){ max = depth; } } int depth = 1 + max; return depth; } int maxDepth(Node* root) { return getDepth(root); }111.二叉树的最小深度
int digui(TreeNode* node){ if(node == nullptr) return 0; int left = digui(node->left); int right = digui(node->right); if(!left){ return 1 + right; } if(!right){ return 1 + left; } int depth = 1 + min(left, right); return depth; } int minDepth(TreeNode* root) { return digui(root); }代码随想录day14由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“代码随想录day14”