博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode: Symmetric Tree
阅读量:5263 次
发布时间:2019-06-14

本文共 1501 字,大约阅读时间需要 5 分钟。

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.

confused what "{1,#,2,3}" means? 

code:

1 class Solution { 2  3 public: 4  5 bool isSymmetric(TreeNode *root) { 6     if(root == NULL) return true; 7  8     queue
lf, rt; 9 lf.push(root->left);10 rt.push(root->right);11 TreeNode *l, *r;12 while(!lf.empty() && !rt.empty()) {13 l = lf.front(); r = rt.front();14 lf.pop(); rt.pop();15 if(l == NULL && r == NULL) continue;16 if(l == NULL || r == NULL) return false;17 if(l->val != r->val) return false;18 lf.push(l->left); lf.push(l->right);19 rt.push(r->right); rt.push(r->left);20 }21 if(lf.empty() && rt.empty()) return true;22 else return false;23 }24 };

递归解:

// Recursive solutionpublic class Solution {public boolean isSymmetric(TreeNode root) {    if (root == null) {        return true;    }    return helper(root.left, root.right);}private boolean helper(TreeNode a, TreeNode b) {    if (a == null && b == null) return true;    if (a == null || b == null) return false;    if (a.val != b.val) return false;    return helper(a.left, b.right) && helper(a.right, b.left);}}

 

 

转载于:https://www.cnblogs.com/caijinlong/archive/2013/04/30/3051830.html

你可能感兴趣的文章
2019春第十周作业
查看>>
解决ThinkPHP关闭调试模式时报错的问题汇总
查看>>
【APT】SqlServer游标使用
查看>>
关于ExecuteNonQuery()返回值为-1
查看>>
Firefox修復QQ快速登錄
查看>>
PAT——1060. 爱丁顿数
查看>>
分布式技术追踪 2017年第二十期
查看>>
git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation的解决办法
查看>>
Linux环境变量永久设置方法(zsh)
查看>>
MVC4.0 利用IActionFilter实现简单的后台操作日志功能
查看>>
脑袋卡在窗子里
查看>>
ruby 中文字符to_json后乱码(unicode)
查看>>
《大道至简》第六章读后感
查看>>
codeforce 597C-Subsequences(dp+树状数组)
查看>>
[android](学习笔记6)为应用程序添加对话框(1)
查看>>
windows下mongodb安装与使用
查看>>
rotate the clock
查看>>
bugku 变量
查看>>
Python 环境傻瓜式搭建 :Anaconda概述
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>