摘要: 226. 翻转二叉树 还是层序遍历,把子节点翻转一下就可以。 class Solution { public TreeNode invertTree(TreeNode root) { Deque<TreeNode> queue = new LinkedList<>(); if (root != nu 阅读全文
posted @ 2022-03-28 16:50 一梦两三年13 阅读(27) 评论(0) 推荐(0)
摘要: 继续把昨天剩的两道打完。 104. 二叉树的最大深度 层次遍历迭代 class Solution { public int maxDepth(TreeNode root) { int depth = 0; Deque<TreeNode> queue = new LinkedList<>(); if 阅读全文
posted @ 2022-03-28 11:52 一梦两三年13 阅读(31) 评论(0) 推荐(0)
摘要: 采用广度优先遍历(Breath First Search),使用队列实现,一般模板如下: 102. Binary Tree Level Order Traversal //迭代,借助队列实现 class Solution { public List<List<Integer>> levelOrder 阅读全文
posted @ 2022-03-27 17:44 一梦两三年13 阅读(37) 评论(0) 推荐(0)
摘要: 通过前面的实践我们知道前序和后序遍历二叉树的迭代写法可以用同一个写法,但是到了中序遍历二叉树的时候,由于遍历结点和处理结点不能同时进行,就导致我们需要重新构思思路,非常难用,那么前中后序迭代法遍历二叉树能不能像它们的递归写法一样,有一个统一写法呢?答案是肯定,直接上代码: 中序: //前中后序遍历统 阅读全文
posted @ 2022-03-27 16:03 一梦两三年13 阅读(48) 评论(0) 推荐(0)
摘要: 代码随想录二叉树专题,开刷! 先中后序遍历的递归和迭代实现。 递归实现三种遍历代码大致相同,只需要将遍历左中右结点的代码换一下位置即可。 先序: 1 class Solution { 2 public List<Integer> preorderTraversal(TreeNode root) { 阅读全文
posted @ 2022-03-26 16:07 一梦两三年13 阅读(37) 评论(0) 推荐(0)
摘要: 347. Top K Frequent Elements class Solution { //比较器 Comparator cmp = new Comparator() { @Override public int compare(Object o1, Object o2) { Map.Entry 阅读全文
posted @ 2022-03-23 21:49 一梦两三年13 阅读(24) 评论(0) 推荐(0)
摘要: 1047. 删除字符串中的所有相邻重复项 version01 class Solution { public String removeDuplicates(String s) { Deque stack = new LinkedList<>(); char[] a = s.toCharArray( 阅读全文
posted @ 2022-03-21 20:32 一梦两三年13 阅读(24) 评论(0) 推荐(0)
摘要: 232. 用栈实现队列 class MyQueue { private Stack<Integer> stackIn, stackOut; public MyQueue() { stackIn = new Stack<>(); stackOut = new Stack<>(); } public v 阅读全文
posted @ 2022-03-20 18:44 一梦两三年13 阅读(49) 评论(0) 推荐(0)
摘要: 今天做一下算法课实验三任务一,题目如下: 任务一:求解查找假币问题 有12个硬币,用A-L表示,其中有一个假币,且假币较轻,真币重量相同。每次选择4个硬币放置于天平的左托盘或右托盘进行称重,得到如下结果: ABCD EFGH even //even表示二边一样重,天平平衡 ABCI EFJK up 阅读全文
posted @ 2022-03-14 18:50 一梦两三年13 阅读(685) 评论(0) 推荐(0)