LeetCode
yushen0
当你的能力还驾驭不了你的目标时,就应该沉下心来,历练。
比如选择一条最快的捷径-----努力。
展开
-
LeetCode-20:有效的括号(JAVA实现)
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 解析:对于这种前后匹配的问题,脑袋里第一个想法就是使用栈来实现。 代码: class Solution { public boolean isValid(...原创 2018-11-30 11:06:42 · 461 阅读 · 0 评论 -
LeetCode-合并两个有序链表
合并两个有序链表,第一个想法就是归并排序。 java实现代码如下: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solut...原创 2018-12-03 11:27:58 · 194 阅读 · 0 评论 -
leetcode-228. 汇总区间
给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。 示例 1: 输入: [0,1,2,4,5,7] 输出: ["0->2","4->5","7"] 解释: 0,1,2 可组成一个连续的区间; 4,5 可组成一个连续的区间。 示例 2: 输入: [0,2,3,4,6,8,9] 输出: ["0","2->4","6",&quo原创 2019-01-03 17:25:56 · 167 阅读 · 0 评论 -
leetcode344:反转字符串JAVA实现
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是ASCII码表中的可打印字符。 示例 1: 输入:["h","e","l","l","o"] 输出:["o","l","l","e","h"] 示例 2: ...原创 2019-04-12 18:03:40 · 239 阅读 · 0 评论 -
136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例2: 输入: [4,1,2,1,2] 输出: 4 解法效率: 解题思路: 数组中只有一个出现一次的数字,其他的数字都是出现过两次。 ...原创 2019-04-25 17:25:51 · 140 阅读 · 0 评论 -
461. 汉明距离
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 解决思路:<位运算&g...原创 2019-08-01 13:59:54 · 199 阅读 · 0 评论