08 2022 档案
摘要:package class08; import java.util.Arrays; import java.util.Stack; /** * 分区函数和快排。 * 快排分为递归和非递归两个版本。 */ public class Code03_PartitionAndQuickSort { /**
阅读全文
摘要:package class08; /** * 归并排序 * <p> * 时间复杂度:O(N*logN) * 描述: * 1.数组长度N,步长step去追N,1变2,2变4,4变8。。。 * 所以step变了几次?logN次。 * 2.step每变一次的,时间复杂度是多少呢? * 每一次左组和右组me
阅读全文
摘要:package class07; import java.util.ArrayList; import java.util.List; /** * leetcode 113. 路径总和 II * 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径
阅读全文
摘要:package class07; /** * leetcode112. 路径总和 * <p> * 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。 * 判断该树中是否存在这样的 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。 * 如果
阅读全文
摘要:package class07; /** * 验证搜索二叉树 * <p> * 另:判断是否是平衡搜索二叉树? * 写两个函数,一个是判断是否是平衡二叉树,一个是判断是否是搜索二叉树。 * 将两个布尔值取与(即&&)的关系,就是最后结果。 */ public class Code05_IsBinary
阅读全文
摘要:package class07; /** * 验证平衡二叉树 */ //测试链接:https://leetcode.com/problems/balanced-binary-tree public class Code02_BalancedBinaryTree { public static cla
阅读全文
摘要:package class07; import java.util.LinkedList; import java.util.List; import java.util.Queue; /** * 二叉树的层序遍历 II */ //public class Code01_BinaryTreeLeve
阅读全文
摘要:package class06; import java.util.HashMap; import java.util.Map; /** * 根据一个二叉树的先序遍历数组int[] pre和中序遍历的数组int[] in,重构这个二叉树。 */ //测试链接:https://leetcode.com
阅读全文
摘要:package class06; /** * 求出一个二叉树的最大深度 */ public class Code04_MaximumDepthOfBinaryTree { public static class TreeNode { int val; TreeNode left; TreeNode
阅读全文
摘要:package class06; /** * 判断是否是镜面树(对称树) */ //测试链接:https://leetcode.com/problems/symmetric-tree public class Code03_MirrorTree { public static class TreeN
阅读全文
摘要:package class06; /*** * 判断两个二叉树是否相同 * * 已知两个数的头节点分别是head1和head2。 * 结构相同并且对应的节点的值也相同,则认为它们是相同的。 */ //测试链接:https://leetcode.com/problems/same-tree publi
阅读全文