Symmetric Tree
来源:互联网 发布:windows程序设计下载 编辑:程序博客网 时间:2024/06/06 01:45
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree is symmetric:
1 / \ 2 2 / \ / \3 4 4 3
But the following is not:
1 / \ 2 2 \ \ 3 3
Note:
Bonus points if you could solve it both recursively and iteratively.
bool check(struct TreeNode *leftNode, struct TreeNode *rightNode)
{if (leftNode == NULL && rightNode == NULL)
return true;
if (leftNode == NULL || rightNode== NULL)
return false;
return leftNode->val == rightNode->val && check(leftNode->left, rightNode->right) && check(leftNode->right, rightNode->left);
}
bool isSymmetric(struct TreeNode* root) {
if (root == NULL)
return true;
return check(root->left, root->right);
}
0 0
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- 链式栈
- 聚集索引和非聚集索引(整理)
- 【小松教你手游开发】【unity实用技能】unity 地图选关功能设计
- Pow(x, n)
- Roads not only in Berland CodeForces 25D 并查集
- Symmetric Tree
- Timus OJ 1057 数位dp
- 离线安装 Android Studio 更新
- Web学习记录<二>PHP语法和MySQL小结
- Linux命令之查看系统信息
- POJ Function Run Fun
- Android学习 - android上实现编解码
- YTU 2891: E--围栏
- 我也要写博客