网站开发和网站维护有区别吗,菜鸟怎么做网站,定位网站关键词,广宁城乡建设网站一.题目要求
给你一个二叉树的根节点 root #xff0c; 检查它是否轴对称。
二.题目难度
简单
三.输入样例
示例 1#xff1a; 输入#xff1a;root [1,2,2,3,4,4,3] 输出#xff1a;true
示例 2#xff1a; 输入#xff1a;root [1,2,2,null,3,null,3] 输出 检查它是否轴对称。
二.题目难度
简单
三.输入样例
示例 1 输入root [1,2,2,3,4,4,3] 输出true
示例 2 输入root [1,2,2,null,3,null,3] 输出false
提示 树中节点数目在范围 [1, 1000] 内 -100 Node.val 100
进阶你可以运用递归和迭代两种方法解决这个问题吗
四.解题思路
递归或者迭代递归没写出来qaq
五.代码实现
迭代
class Solution {
public:bool isSymmetric(TreeNode* root) {if(!root) return false;int remained;queueTreeNode* q;vectorint val;q.push(root);while(!q.empty()){remained q.size();while(remained 0){TreeNode* tmp q.front();q.pop();remained--;if(tmp-left ! nullptr) {q.push(tmp-left);val.push_back(tmp-left-val);}else {val.push_back(999); }if(tmp-right) {q.push(tmp-right);val.push_back(tmp-right-val);}else {val.push_back(999); }}auto t val;reverse(val.begin(),val.end()); if(val ! t) return false;vectorint().swap(val);}return true;}
};递归
class Solution {
public:bool check(TreeNode *p, TreeNode *q) {if (!p !q) return true;if (!p || !q) return false;return p-val q-val check(p-left, q-right) check(p-right, q-left);}bool isSymmetric(TreeNode* root) {return check(root, root);}
};六.题目总结
递归的子问题没拆出来