二叉树的题目有点形成惰性思维了,迭代几乎解决了所有。
将二叉树根植记录下来,再对二叉树进行前序遍历(哪一种遍历都行),若是不同则返回就好
/**
-
Definition for a binary tree node.
-
struct TreeNode {
-
int val;
-
TreeNode *left;
-
TreeNode *right;
-
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
-
};
/
class Solution {
public:
bool isun(TreeNode root,int c,bool ret)
{
if(rootNULL)return ret;
if(retfalse)return ret;
if(root->val!=c)return (ret=false);
ret=isun(root->left,c,ret);
ret=isun(root->right,c,ret);
return ret;}
bool isUnivalTree(TreeNode* root)
{
int c=root->val;
bool ret=true;
ret=isun(root,c,ret);
return ret;}
};