LeetCode - Symmetric Tree
·
经过分析发现判断此树是否对成可以转换成看其左子树的中序遍历(左中右) 和 右子树的逆中序遍历(右中左) 是否相同。
/**
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
void process_left(TreeNode *root,vector<int> &v){
if(!root)
return;
process_left(root->left,v);
v.push_back(root->val);
process_left(root->right,v);
}
void process_right(TreeNode *root, vector<int> &v){
if(!root)
return;
process_right(root->right,v);
v.push_back(root->val);
process_right(root->left,v);
}
bool isSymmetric(TreeNode *root) {
if(!root || (root->left==NULL && root->right==NULL) )
return true;
if(!root->left || !root->right)
return false;
vector<int> left;
vector<int> right;
process_left(root->left,left);
process_right(root->right,right);
return left==right;
}
};
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)