Leetcode 题解
五山小新新
希望每天6点下班,然后逛超市,买水果,买牛奶,看美女。
展开
-
244 链表排序
1. 题目要求:在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5使用归并排序是比较快捷的方式,归并的思想就是分而治之的方法。通过递归的方式,将链表拆成两半,然后合并。如何拆分链表呢? 这里需要用到快慢指针,然后对中间的数据进行二分。具体原创 2020-07-07 23:40:25 · 431 阅读 · 0 评论 -
24. Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head.For example, Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm should use only constant space. You may no原创 2016-08-13 15:56:27 · 343 阅读 · 0 评论 -
202. Happy Number
Write an algorithm to determine if a number is “happy”.A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of i原创 2016-08-13 13:31:31 · 278 阅读 · 0 评论 -
263. Ugly Number
Write a program to check whether a given number is an ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not ugly since it in原创 2016-08-13 08:49:11 · 255 阅读 · 0 评论 -
344. Reverse String
Write a function that takes a string as input and returns the string reversed.Example: Given s = “hello”, return “olleh”.思路:两个指针,头尾交换,算法复杂度:O(n/2).class Solution {public: string reverseString(str原创 2016-08-13 08:28:38 · 257 阅读 · 0 评论 -
268. Missing Number
Given an array containing n distinct numbers taken from 0, 1, 2, …, n, find the one that is missing from the array.For example, Given nums = [0, 1, 3] return 2.Note: Your algorithm should run in line原创 2016-08-24 21:40:17 · 386 阅读 · 0 评论 -
338. Counting Bits
Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1’s in their binary representation and return them as an array.Example: For num = 5 you sh原创 2016-08-24 08:28:27 · 383 阅读 · 0 评论 -
260. Single Number III
Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.For example:Given nums = [1,原创 2016-08-23 21:15:24 · 422 阅读 · 0 评论 -
167. Two Sum II - Input array is sorted
Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers suc原创 2016-08-23 20:34:11 · 352 阅读 · 0 评论 -
62. Unique Paths
A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram below).The robot can only move either down or right at any point in time. The robot is trying to reach the botto原创 2016-09-01 22:35:12 · 533 阅读 · 0 评论 -
9. Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.click to show spoilers.Subscribe to see which companies asked this question解题思路:思路1:将整数转化成字符串,然后对比。这个需要额外的空间。思路2: 就是分别从两端取得数字,然原创 2016-08-23 07:57:22 · 411 阅读 · 0 评论 -
172. Factorial Trailing Zeroes
Given an index k, return the kth row of the Pascal’s triangle.For example, given k = 3, Return [1,3,3,1].Note: Could you optimize your algorithm to use only O(k) extra space?Subscribe to see which co原创 2016-08-23 07:37:40 · 298 阅读 · 0 评论 -
119. Pascal's Triangle II
Given an index k, return the kth row of the Pascal’s triangle.For example, given k = 3, Return [1,3,3,1].Note: Could you optimize your algorithm to use only O(k) extra space?Subscribe to see which co原创 2016-08-22 23:58:52 · 288 阅读 · 0 评论 -
347. Top K Frequent Elements
Given a non-empty array of integers, return the k most frequent elements.For example, Given [1,1,1,2,2,3] and k = 2, return [1,2].Note: You may assume k is always valid, 1 ≤ k ≤ number of unique ele原创 2016-08-25 16:56:05 · 392 阅读 · 0 评论 -
345. Reverse Vowels of a String
Write a function that takes a string as input and reverse only the vowels of a string.Example 1: Given s = “hello”, return “holle”.Example 2: Given s = “leetcode”, return “leotcede”.Note: The vowels原创 2016-08-13 15:36:51 · 305 阅读 · 0 评论 -
235. Lowest Common Ancestor of a Binary Search Tree
Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two原创 2016-09-07 08:31:55 · 476 阅读 · 0 评论 -
238. Product of Array Except Self
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].Solve it without division and in O(n).For e原创 2016-08-26 20:47:03 · 514 阅读 · 0 评论 -
66. Plus One
Given a non-negative number represented as an array of digits, plus one to the number.The digits are stored such that the most significant digit is at the head of the list.Subscribe to see which compan原创 2016-08-15 08:20:15 · 287 阅读 · 0 评论 -
206. Reverse Linked List
Reverse Linked List QuestionEditorial Solution My Submissions Total Accepted: 132625 Total Submissions: 321899 Difficulty: Easy Reverse a singly linked list.click to show more hints.Subscribe to原创 2016-08-15 08:05:45 · 300 阅读 · 0 评论 -
27. Remove Element
Given an array and a value, remove all instances of that value in place and return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.The order原创 2016-08-14 20:02:30 · 245 阅读 · 0 评论 -
384. Shuffle an Array
Shuffle a set of numbers without duplicates.Example:// Init an array with set 1, 2, and 3. int[] nums = {1,2,3}; Solution solution = new Solution(nums);// Shuffle the array [1,2,3] and return its res原创 2016-08-26 08:44:03 · 611 阅读 · 0 评论 -
343. Integer Break
Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you can get.For example, given n = 2, return 1原创 2016-08-25 22:33:01 · 357 阅读 · 0 评论 -
319. Bulb Switcher
题目大意是,有n只初始处于关闭状态的灯泡。你首先打开所有的灯泡(第一轮)。然后,熄灭所有序号为2的倍数的灯泡。第三轮,切换所有序号为3的倍数的灯泡(开着的就关掉,关着的就打开)。第n轮,你只切换最后一只灯泡。计算n轮之后还有几盏灯泡亮着。 先看看以下规律: 第1个灯泡:1的倍数,会改变1次状态: off -> on 第2个灯泡:1的倍数,2的倍数,会改变2次状态: off -> on -> o原创 2016-08-25 22:12:53 · 383 阅读 · 0 评论 -
357. Count Numbers with Unique Digits
Count Numbers with Unique Digits QuestionEditorial Solution My Submissions Total Accepted: 13025 Total Submissions: 29945 Difficulty: Medium Given a non-negative integer n, count all numbers with原创 2016-08-25 18:07:38 · 372 阅读 · 0 评论 -
96. Unique Binary Search Trees
Given n, how many structurally unique BST’s (binary search trees) that store values 1…n?For example, Given n = 3, there are a total of 5 unique BST’s.1 3 3 2 1 \ /原创 2016-09-05 08:10:24 · 437 阅读 · 0 评论 -
342. Power of Four
Given an integer (signed 32 bits), write a function to check whether it is a power of 4.Example: Given num = 16, return true. Given num = 5, return false.Follow up: Could you solve it without loops/re原创 2016-08-13 16:34:53 · 248 阅读 · 0 评论 -
387. First Unique Character in a String
Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.Examples:s = “leetcode” return 0.s = “loveleetcode”, return 2. Note: You may assume原创 2016-08-22 22:18:16 · 873 阅读 · 0 评论 -
108. Convert Sorted Array to Binary Search Tree
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.Subscribe to see which companies asked this question解题思路:就是用2分查找的方案,然后进行深度搜索的方案,递归将数组转化成二分查找数。/** * Def原创 2016-09-01 08:05:04 · 354 阅读 · 0 评论 -
349. Intersection of Two Arrays
Given two arrays, write a function to compute their intersection.Example: Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2].Note: Each element in the result must be unique. The result can be in原创 2016-08-17 08:41:28 · 268 阅读 · 0 评论 -
350. Intersection of Two Arrays II
Given two arrays, write a function to compute their intersection.Example: Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2, 2].Note: Each element in the result should appear as many times as it原创 2016-08-17 08:06:48 · 281 阅读 · 0 评论 -
371. Sum of Two Integers
Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.Example: Given a = 1 and b = 2, return 3.Credits: Special thanks to @fujiaozhu for adding this problem a原创 2016-08-16 21:01:50 · 316 阅读 · 0 评论 -
226. Invert Binary Tree
Invert a binary tree.4/ \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 Trivia: This problem was inspired by this original tweet by Max Howell: Goo原创 2016-08-16 08:11:21 · 349 阅读 · 0 评论 -
383. Ransom Note
Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be construc原创 2016-08-15 21:08:52 · 325 阅读 · 0 评论 -
Leetcode之Divide Two Integers
这道题的技巧在于,使用减法原创 2014-09-09 13:31:35 · 534 阅读 · 0 评论 -
Leetcode之Multiply Strings
字符串相乘,题目如下:原创 2014-09-09 09:34:49 · 593 阅读 · 0 评论 -
Leetcode之Restore IP Addresses
题目: Given a string containing only digits, restore it by returning all possible valid IP address combinations.For example:Given "25525511135",return ["255.255.11.135", "255.255.111.原创 2014-09-09 10:29:19 · 545 阅读 · 0 评论 -
Leetcode之Binary Tree Maximum Path Sum
这道题是二叉树的一个典型的原创 2014-09-09 10:12:05 · 477 阅读 · 0 评论 -
Leetcode之Valid Number
题目:Validate if a given string is numeric.Some examples:"0" => true" 0.1 " => true"abc" => false"1 a" => false"2e10" => trueNote: It is intended for the problem statement原创 2014-09-09 00:29:28 · 561 阅读 · 0 评论 -
Leetcode之 Max Points on a Line
我们原创 2014-09-08 23:49:54 · 682 阅读 · 0 评论 -
13. Roman to Integer
Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.Subscribe to see which companies asked this question解题思路: 根据罗马数字的规律,这个数字,小于等于左边的数字,表示需要+,而大于左边的原创 2016-08-17 13:10:27 · 331 阅读 · 0 评论