摘要:
第19题: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。(来自LeetCode) 1、对于一个固定长度length的链表,我们需要将倒数第n个节点删掉,就是需要将第length-n+1个节点删掉; 所以可以先求出链表长度,再删掉第意义上的倒数第n个节点。 2、也可以使用两个指针 阅读全文
摘要:
第18题: 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意:答案中不可以包含重复的四元组。来源:力扣(LeetCod 阅读全文
摘要:
第108题: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。(来自LeetCode) 1、对于将一个升序的有序数组转化为一颗高度平衡的二叉搜索树,由于数组时升序的,所以其实这个数组就是二叉搜索 阅读全文
摘要:
第23题: 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。来源:力扣(LeetCode) 示例: 输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6 1、链表集合内的每个链表都是有序的,可以使用暴力求解,将K个链表的值 阅读全文
摘要:
第718题: 给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。(来自LeetCode) 1、肯定可以使用暴力求解,将A和B中的所有子串相比较,来算处它们的最大前缀的长度,就可得出公共子数组的长度了,时间复杂度较高 看到提示说用dp[i][j]数组来记录此时可A和B数组当前 阅读全文
摘要:
第101题: 给定一个二叉树,检查它是否是镜像对称的。来源:力扣(LeetCode) 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 阅读全文
摘要:
第12题: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + 阅读全文
摘要:
第6题: 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIR 阅读全文
摘要:
第16题: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。来源:力扣(LeetCode) 1、和之前的15题一样,也可以用暴力解法将结果输出,其中用户绝对值来计 阅读全文
摘要:
第14题: 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。(来自LeetCode) 1、为求出最大公共前缀,可以先将数组内前两个字符串相比较求出最长前缀; 再用最长前缀和下一个字符串相对比,依次求出公共前缀,得出结果。 (数组的length是属性,是str. 阅读全文