习题均来自LeetCode
这里写目录标题
中难题我唯唯诺诺简单题我重拳出击嘻嘻
(1)相同的树 题号–100
这一题十分简单没啥好说的
就简单的递归遍历判断每个结点是否相同(下图:耗时+消耗内存)
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
boolean viya=true;
public boolean isSameTree(TreeNode p, TreeNode q) {
if(p==null & q==null){
return true;
}
if((p==null && q!=null) || (p!=null && q==null) || (p.val!=q.val)){
return false;
}
two(p,q);
return this.viya;
}
public void two(TreeNode p,TreeNode q){
if((p==null && q!=null) || (p!=null && q==null)){
this.viya=false;
return;
}
if(p==null && q==null){
return;
}
two(p.left,q.left);
if(p.val!=q.val){
this.viya=false;
return;
}
two(p.right,q.right);
}
}
(2)对称二叉树 题号–101
根100题是类似的 需要注意的是镜像!!!
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
boolean baby=true;
public boolean isSymmetric(TreeNode root) {