![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
晓风轻飏丶
这个作者很懒,什么都没留下…
展开
-
LeetCode20 有效的括号
20. 有效的括号 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 /** * 问题: 没有考虑到先出现反括号的情况 * 没有考虑到全是正括号的现象 */ public static boolean isValid(String s) { if (s.length() %2 != 0){ return原创 2021-02-26 22:43:20 · 47 阅读 · 0 评论 -
LeetCode11 盛最多水的容器
盛最多水的容器 题目 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 输入:[1,8,6,2,5,4,8,3,7] 输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。 解法思路 用左原创 2021-02-24 22:37:41 · 43 阅读 · 0 评论 -
剑指 Offer 07. 重建二叉树 - 力扣(LeetCode)
重建二叉树 解法一: 时间空间复杂度双高 应该是因为使用了Arrays.copyOfRange()函数导致的 新思路 不传入数组 改为传入数组下标 ===>解法二 public static TreeNode buildTree(int[] preorder, int[] inorder) { //如果数组中没有节点 直接返回null if (preorder.length==0) return null; TreeNode treeNode = new TreeNode原创 2021-01-22 22:10:27 · 60 阅读 · 0 评论 -
剑指 Offer 06. 从尾到头打印链表 - 力扣(LeetCode)
从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 思路: 用栈 用递归实现类似于栈的效果 //定义ListNode class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } public class PrintRevList { int [] a; int i = 0; public int[] rever原创 2021-01-21 11:39:54 · 54 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找 - 力扣(LeetCode)
二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 public boolean findNumberIn2DArray(int[][] matrix, int target) { if (matrix.length == 0 || matrix[0].length == 0) { return false; }原创 2021-01-21 11:34:31 · 84 阅读 · 0 评论