LeetCode
=======
[001](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet001.java)
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数
[007](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet007.java)
给定一个 32 位有符号整数,将整数中的数字进行反转
[009](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet009.java)
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数
[013](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet013.java)
给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内
[014](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet014.java)
编写一个函数来查找字符串数组中的最长公共前缀
[020](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet020.java)
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
[021](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet021.java)
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
[026](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet026.java)
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
[027](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet027.java)
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。
[028](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet028.java)
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
[035](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet035.java)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
[053](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet053.java)
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
[206](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet206.java)
反转一个单链表。
[217](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet217.java)
给定一个整数数组,判断是否存在重复元素
[219](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet219.java)
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k
[225](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet225.java)
实现栈 不会
[226](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet226.java)
反转二叉树
[231](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet231.java)
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
[234](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet234.java)
判断一个链表是否为回文链表。
[235](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet235.java)
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先
[237](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet237.java)
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点
[242](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet242.java)
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词
[257](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet257.java)
给定一个二叉树,返回所有从根节点到叶子节点的路径
[258](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet258.java)
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数
[263](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet263.java)
编写一个程序判断给定的数是否为丑数。
丑数就是只包含质因数 2, 3, 5 的正整数
[268](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet268.java)
给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数
[278](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet278.java)
假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本
[283](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet283.java)
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序
[292](https://github.com/qiushui233/lintCode/blob/master/Leetcode/leet292.java)
Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者