【leetcode】101. Symmetric Tree【java】递归和非递归两种方法
来源:互联网 发布:万能数据恢复破解版 编辑:程序博客网 时间:2024/05/22 12:23
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
For example:
Given binary tree [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
return its level order traversal as:
[ [3], [9,20], [15,7]]/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ //方法1:递归/*public class Solution { public boolean isSymmetric(TreeNode root) { return root == null || isSymmetricHelp(root.left, root.right); } private boolean isSymmetricHelp(TreeNode left, TreeNode right){ if (left == null || right == null){ return left == right; } if (left.val != right.val){ return false; } return (isSymmetricHelp(left.left, right.right) && isSymmetricHelp(left.right, right.left)); }}*///方法2:非递归public class Solution { public boolean isSymmetric(TreeNode root) { if (root == null){ return true; } Stack<TreeNode> stack = new Stack<TreeNode>(); stack.push(root.left); stack.push(root.right); while (!stack.empty()){ TreeNode p1 = stack.pop(); TreeNode p2 = stack.pop(); if (p1 == null && p2 == null){ continue; } if (p1 == null || p2 == null || p1.val != p2.val){ return false; } stack.push(p1.left); stack.push(p2.right); stack.push(p1.right); stack.push(p2.left); } return true; }}
0 0
- 【leetcode】101. Symmetric Tree【java】递归和非递归两种方法
- Leetcode Symmetric Tree 递归和非递归解法
- LeetCode Symmetric Tree递归,迭代两种方法
- 二叉树系列 - [LeetCode] Symmetric Tree 判断二叉树是否对称,递归和非递归实现
- Symmetric Tree(递归和非递归方法) ——Difficulty:Easy
- leetcode 101. Symmetric Tree对称树(递归和迭代)
- LeetCode 101. Symmetric Tree 递归解法
- 两种方法求n!,递归和非递归调用
- 二分查找(递归和非递归两种方法)
- Java遍历文件夹的两种方法(非递归和递归)
- Java遍历文件夹的两种方法(非递归和递归) .
- Java遍历文件夹的两种方法(非递归和递归)
- Java遍历文件夹的两种方法(非递归和递归) .
- Java遍历文件夹的两种方法(非递归和递归) .
- 101.LeetCode Symmetric Tree(easy)[递归 二叉树]
- leetcode 101. Symmetric Tree 判断对称树,递归和迭代
- [leetcode]爬楼梯的递归和非递归方法
- 递归/非递归 两种方法自动创建多级目录
- 事务四大特征:原子性,一致性,隔离性和持久性(ACID)
- AndroidStudio导入一个已存在项目的步骤
- Netty 简单介绍
- 无题
- Spark1.3从创建到提交:6)Executor和Driver互动源码分析
- 【leetcode】101. Symmetric Tree【java】递归和非递归两种方法
- Android 运行时权限进阶(听课笔记)
- bzoj 3100 K大数查询 树套树
- 微观经济学的学习和理解
- eclipse/myeclipse清除workspace
- 最简真分数
- Android(UI)布局(文件)控件标签的通用属性
- Union-Find C语言实现
- Restlet学习资源