![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
code
文章平均质量分 51
CaptainDing
努力成为互联网行业的一名成功的技术人才!
展开
-
回溯算法题目总结 全排列、组合、子集问题 Java版本
题型一:排列、组合、子集相关问题提示:这部分练习可以帮助我们熟悉「回溯算法」的一些概念和通用的解题思路。解题的步骤是:先画图,再编码。去思考可以剪枝的条件, 为什么有的时候用 used 数组,有的时候设置搜索起点 begin 变量,理解状态变量设计的想法。全排列(中等) 全排列 II(中等):思考为什么造成了重复,如何在搜索之前就判断这一支会产生重复; 组合总和(中等) 组合总和 II(中等) 组合(中等) 子集(中等) 子集 II(中等):剪枝技巧同 47 题、39 题、40 题;原创 2022-01-23 09:10:08 · 933 阅读 · 0 评论 -
每日温度、数组右边第一个比自己小的(单调栈实现java版本)
739. 每日温度请根据每日 气温 列表 temperatures ,请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。示例 1:输入:temperatures = [73,74,75,71,69,72,76,73]输出: [1,1,4,2,1,1,0,0]示例 2:输入: temperatures = [30,40,50,60]输出: [1,1,1,0]示例 3:输入: temperatures = [30,60,90]输出:原创 2022-01-10 12:14:49 · 847 阅读 · 0 评论 -
有效括号判断(利用栈,奇数个数返回false) java版本
20. 有效的括号难度简单2878给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出原创 2022-01-10 11:57:23 · 248 阅读 · 0 评论 -
最小栈三种不同方式实现 java版本
155. 最小栈设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。方法一:两个栈实现,辅助栈同步保存最小值class MinStack { private Deque<Integer> stack; private Deque<Integer> minSt..原创 2022-01-09 23:41:28 · 511 阅读 · 0 评论 -
树的层次遍历(按层遍历)、锯齿(之字形、)遍历 java版本
二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。/** * 102. 二叉树的层序遍历 * 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 * * * * 示例: * 二叉树:[3,9,20,null,null,15,7], * * 3 * / \ * 9 20 * / \ * 15 7 * 返回其层序遍历结果:...原创 2021-03-12 12:55:24 · 285 阅读 · 2 评论 -
二叉树中序遍历与前序遍历构建二叉树、二叉树中序遍历和后续遍历构建二叉树 java版本
二叉树中序遍历与前序遍历构建二叉树、二叉树中序遍历和后续遍历构建二叉树二叉树中序遍历与前序遍历构建二叉树二叉树中序遍历与后序遍历构建二叉树主要是利用分治的思想,根据中序遍历的结果找到分治的左子树和右子树序列,然后递归实现树的重建。二叉树中序遍历与前序遍历构建二叉树从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:可以假设树中没有重复的元素。 public TreeNode buildTree(int[] preorder, int[] inorder) {原创 2021-03-08 13:00:41 · 138 阅读 · 1 评论 -
二叉树深度 最大深度、最小深度(迭代和递归两种实现)java版本
目录最大深度最小深度最大深度题目:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。方法一 、利用深度优先搜索方法二、利用广度优先搜索 和数的层次遍历类似/** * DFS * * @param root * @return */ public int maxDepth(TreeNode root) { if (root.原创 2021-03-06 16:45:26 · 367 阅读 · 0 评论 -
二叉树的前序、中序、后续遍历(preOrder、InOrder、postOrder)迭代和递归 java版本
目录二叉树的前序遍历二叉树的前中序遍历二叉树的前后序遍历二叉树的前序遍历顺序为 中、左、右 /*方法二: 迭代的方式 */ public List<Integer> preOrder2(TreeNode root) { List<Integer> result = new ArrayList<>(); Deque<TreeNode> stack = new LinkedL...原创 2021-03-06 13:06:26 · 1031 阅读 · 9 评论