2024/8/28 LeetCode Hot100 binaryTree Num543有bug 106案例过101
This commit is contained in:
parent
31c3f9c0c1
commit
4dbf7ab57e
|
@ -0,0 +1,35 @@
|
|||
package com.cool.hot100.binary_tree;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
*
|
||||
* @Author: Cool
|
||||
* @Date: 2024/08/28/23:23
|
||||
* DayNumber 4
|
||||
* Hard 1
|
||||
* Level 3
|
||||
*/
|
||||
public class Num101 {
|
||||
|
||||
public boolean isSymmetric(TreeNode root) {
|
||||
if (root == null) return false;
|
||||
if (root.left != null && root.right != null) {
|
||||
if (root.left.val != root.right.val) return false;
|
||||
else {
|
||||
return isSymmetric(root.left, root.right);
|
||||
}
|
||||
} else return root.left == root.right;
|
||||
}
|
||||
|
||||
public boolean isSymmetric(TreeNode left, TreeNode right) {
|
||||
if (left == right) return true;
|
||||
if (left != null && right != null) {
|
||||
boolean res = (left.val == right.val);
|
||||
if (res) res = isSymmetric(left.left, right.right);
|
||||
if (res) res = isSymmetric(left.right, right.left);
|
||||
return res;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package com.cool.hot100.binary_tree;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
*
|
||||
* @Author: Cool
|
||||
* @Date: 2024/08/28/23:12
|
||||
* DayNumber 2
|
||||
* Hard 1
|
||||
* Level 3
|
||||
*/
|
||||
public class Num104 {
|
||||
|
||||
private int max=0;
|
||||
private int cur=0;
|
||||
public int maxDepth(TreeNode root) {
|
||||
if(root==null) return max;
|
||||
|
||||
dfs(root);
|
||||
return max;
|
||||
}
|
||||
private void dfs(TreeNode root){
|
||||
if(root==null)return;
|
||||
if(root.left!=null) {
|
||||
cur++;
|
||||
max=Math.max(max,cur);
|
||||
dfs(root.left);
|
||||
cur--;
|
||||
}
|
||||
if(root.right!=null){
|
||||
cur++;
|
||||
max=Math.max(max,cur);
|
||||
dfs(root.right);
|
||||
cur--;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package com.cool.hot100.binary_tree;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
*
|
||||
* @Author: Cool
|
||||
* @Date: 2024/08/28/23:20
|
||||
* DayNumber 3
|
||||
* Hard 1
|
||||
* Level 3
|
||||
*/
|
||||
public class Num226 {
|
||||
|
||||
public TreeNode invertTree(TreeNode root) {
|
||||
dfsInvertTree(root);
|
||||
return root;
|
||||
}
|
||||
|
||||
private void dfsInvertTree(TreeNode root) {
|
||||
if (root == null) return;
|
||||
TreeNode right = root.right;
|
||||
root.right=root.left;
|
||||
root.left=right;
|
||||
dfsInvertTree(root.left);
|
||||
dfsInvertTree(root.right);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package com.cool.hot100.binary_tree;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
*
|
||||
* @Author: Cool
|
||||
* @Date: 2024/08/28/23:52
|
||||
* DayNumber 5
|
||||
* Hard 1
|
||||
* Level 3
|
||||
*/
|
||||
public class Num543 {
|
||||
|
||||
public int diameterOfBinaryTree(TreeNode root) {
|
||||
if (root == null) return 0;
|
||||
int left = getTreeDeep(root.left);
|
||||
int right = getTreeDeep(root.right);
|
||||
return left + right;
|
||||
}
|
||||
|
||||
private int getTreeDeep(TreeNode root) {
|
||||
if (root == null) return 0;
|
||||
int res = getTreeDeep(root.left);
|
||||
res = Math.max(res, getTreeDeep(root.right));
|
||||
return res + 1;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package com.cool.hot100.binary_tree;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
*
|
||||
* @Author: Cool
|
||||
* @Date: 2024/08/28/23:02
|
||||
* DayNumber 1
|
||||
* Hard 1
|
||||
* Level 3
|
||||
*/
|
||||
public class Num94 {
|
||||
|
||||
public List<Integer> inorderTraversal(TreeNode root) {
|
||||
List<Integer> list=new ArrayList<>();
|
||||
mediumTraverse(root,list);
|
||||
return list;
|
||||
}
|
||||
private void mediumTraverse(TreeNode root,List<Integer> list){
|
||||
if(root==null){
|
||||
return;
|
||||
}
|
||||
mediumTraverse(root.left,list);
|
||||
list.add(root.val);
|
||||
mediumTraverse(root.right,list);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package com.cool.hot100.binary_tree;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
*
|
||||
* @Author: Cool
|
||||
* @Date: 2024/08/28/23:03
|
||||
* @Description: 二叉树节点
|
||||
*/
|
||||
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;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue