- 博客(18)
- 收藏
- 关注
原创 leetcode-234 回文链表(PalindromeLinkedList)-java
题目:回文链表请检查一个链表是否为回文链表。进阶:你能在 O(n) 的时间和 O(1) 的额外空间中做到吗?public boolean isPalindrome(ListNode head) { if (head == null || head.next == null) return true; ListNode fast = head; ListNod...
2018-05-01 00:12:10
1601
2
原创 leetcode-206 反转链表(ReverseLinkedList)-java
题目:反转链表反转一个单链表。进阶:链表可以迭代或递归地反转。你能否两个都实现一遍?public ListNode reverseList(ListNode head) { if (head == null || head.next == null) return head; ListNode p = null; ListNode q = null; ...
2018-04-30 22:05:41
689
原创 leetcode-237 删除链表中的节点(DeleteNodeInALinkedList)-java
题目:删除链表中的节点请编写一个函数,使其可以删除某个链表中给定的(非末尾的)节点,您将只被给予要求被删除的节点。比如:假设该链表为 1 -> 2 -> 3 -> 4 ,给定您的为该链表中值为 3 的第三个节点,那么在调用了您的函数之后,该链表则应变成 1 -> 2 -> 4 。public void deleteNode(ListNode node) { ...
2018-04-30 21:11:48
4083
3
原创 leetcode-203 删除链表中的节点(RemoveLinkedListElements)-java
题目:删除链表中的节点删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5public ListNode removeElements(ListNode head, int val) { if (head == null) ...
2018-04-30 20:45:42
1938
原创 leetcode-160 相交链表(IntersectionOfTwoLinkedLists)-java
题目:相交链表编写一个程序,找到两个单链表相交的起始节点。例如,下面的两个链表:A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3在节点 c1 开始相交。注意:如果两个链表没有交点,返回 nul...
2018-04-30 19:54:15
1751
原创 leetcode-141 环形链表(LinkedListCycle)-java
题目:环形链表给定一个链表,判断链表中是否有环。进阶:你能否不使用额外空间解决此题?public boolean hasCycle(ListNode head) { if (head == null || head.next == null) return false; ListNode fast = head; ListNode slow = head;...
2018-04-30 18:05:33
1904
2
原创 leetcode-83 删除排序链表中的重复元素(RemoveDuplicatesFromSortedList)-java
题目:删除排序链表中的重复元素给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。public ListNode deleteDuplicates(ListNode head) { if (head == null || head.next == null) return head; ListNode node = head; while (nod...
2018-04-27 12:56:28
987
原创 leetcode-66 加一(PlusOne)-java
题目:加一给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。public int[] plusOne(int[] digits) { int carry = 1; int i = digits.length - 1; while (i >...
2018-04-26 15:12:22
934
转载 leetcode-2 两数相加(AddTwoNumbers)-java
问题描述给定两个链表分别代表两个非负整数,链表的每个结点分别存储整数的每位数字,且是逆序存储,即:数字最低位存储在链表表头,数字最高位存储在链表表尾。求解这两个整数的和并以相同的链表形式返回计算的结果。例如: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8问题分析本题其实是一个大数相加问题,题目本身难度不大...
2018-04-24 15:29:03
534
原创 leetcode-35 搜索插入位置(SearchInsertPosition)-java
题目:搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。public int searchInsert(int[] nums, int target) { int i; for (i = 0; i < nums.length; ++ i) { if (...
2018-04-24 11:56:29
239
原创 leetcode-28 实现strStr()-java
题目:实现strStr()实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。public int strStr(String haystack, String needle) { return haystack.indexOf(ne...
2018-04-24 11:34:32
435
原创 Leetcode-20 有效的括号(ValidParentheses)-java
题目:有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。public boolean isValid(String s) { Stack<Character> stack = new Stack<Chara...
2018-04-23 22:03:54
296
原创 leetcode-14 最长公共前缀(LongestCommonPrefix)-java
题目:最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。说明:所有输入只包含小写字母 a-z 。public String longestCommonPrefix3(String[] strs) { if (strs == null || strs.length == 0) return ""; if (strs.le...
2018-04-23 15:48:01
1366
2
原创 leetcode-26 删除排序数组中的重复项(RemoveDuplicatesFromSortedArray)-java
题目:删除排序数组中的重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为1,2. 你不需要考虑数组中超出新长度后面的元素。示例...
2018-04-23 13:55:56
713
原创 leetcode-21 合并两个有序链表(MergeTwoSortedLists)-java
题目: 合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode listNode = new ListNode(0); ListNode firstNode = listNode; wh...
2018-04-23 12:52:49
6172
原创 leetcode-7 反转整数(ReverseInteger)-java
题目:反转整数给定一个 32 位有符号整数,将整数中的数字进行反转。注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。public int reverse(int x) { long result = 0; while (x != 0) { result = result...
2018-04-23 12:38:56
3121
原创 leetcode-9 回文数(PalindromeNumber)-java
题目:回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。public boolean isPalindrome(int x) { String string = String.valueOf(x); StringBuilder stringBuilder = new StringBuilder(string); if (strin...
2018-04-23 12:23:31
778
原创 leetcode-1 两数之和(TwoSum) -java
题目:两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。public int[] twoSum(int[] nums, int target) { int length = nums.length; for (int i = 0; i < length; ++ i) for (in...
2018-04-23 11:42:18
941
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人