LeetCode题集
文章平均质量分 54
迷知凡
喜欢在求知过程中遇到的惊喜
展开
-
Longest Common Prefix(最长相同前缀)
Write a function to find the longest common prefix string amongst an array of strings.(找出字符串数组中的最长相同前缀字符串)1.个人分析 思路一:采用BF法。首先取第一个字符串作为比较字符串,然后将该字符串的每个字符与其他字符串逐个进行比较,将所有相同的字符保存就是最终结果。2.个人解法string longe原创 2017-01-06 14:58:13 · 1616 阅读 · 0 评论 -
Balanced Binary Tree(平衡二叉树)
Given a binary tree, determine if it is height-balanced.(给定一棵二叉树,判断该树的高度是否平衡)For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every原创 2016-11-29 18:51:27 · 709 阅读 · 0 评论 -
House Robber(窃贼的计划)
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses原创 2016-11-10 21:08:11 · 533 阅读 · 0 评论 -
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 ances原创 2016-10-17 12:10:06 · 299 阅读 · 0 评论 -
Merge Two Sorted Lists(合并两个有序链表)
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.(合并两个有序链表,并返回该新链表。新链表应该由最初的俩链表拼接而成)1.个人分析 与合并两个有序数组类似,只不过在这原创 2016-10-20 12:09:28 · 672 阅读 · 0 评论 -
Power of Four
Given an integer (signed 32 bits), write a function to check whether it is a power of 4.(给定一个32位整型数,判断其是否是4的幂)1.个人分析 判断一个整型数是否是4的幂,必定是从2的幂中寻找符合条件的。1,2,4,8,16,32,64都是2的幂,其中1,4,16,64为4的幂,观察这些数的二进制位发现,它们原创 2016-10-07 12:35:15 · 353 阅读 · 0 评论 -
Power of Two
Given an integer, write a function to determine if it is a power of two.(给定一个整数,判断其是否是2的幂)1.个人分析 与判断是否是3的幂类似,普通解法就是不断地对输入的整数进行整除2,如果是2的幂则结果一定为1。2.个人解法bool isPowerOfTwo(int n) { if(n<1) re原创 2016-10-07 12:31:20 · 333 阅读 · 0 评论 -
Power of Three
Given an integer, write a function to determine if it is a power of three.(给定一个整数,判断其是否是3的幂)Follow up: Could you do it without using any loop / recursion?(能否不使用循环或递归实现?)1.个人分析 思路:最简单直观的做法是不断对3进行整除,如果原创 2016-10-07 12:26:27 · 346 阅读 · 0 评论 -
Symmetric Tree(对称树)
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).(给定一棵二叉树,判断其是否对称)For example, this binary tree [1,2,2,3,4,4,3] is symmetric: 1 / \ 2 2 / \ / \3原创 2016-11-09 16:44:44 · 375 阅读 · 0 评论 -
Binary Tree Level Order Traversal II(层次遍历二叉树II)
Given a binary tree, return the bottom-up level order traversal of its nodes’ values. (ie, from left to right, level by level from leaf to root).(给定一个二叉树,返回其自底向上层次遍历序列的节点值)For example: Given binary tr原创 2016-11-08 11:10:43 · 417 阅读 · 0 评论 -
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.(给定一个非负整数num,对每个在0<=i<=num范围原创 2016-11-30 10:54:52 · 1272 阅读 · 0 评论 -
Binary Tree Paths(二叉树的路径)
Given a binary tree, return all root-to-leaf paths.(给定一棵二叉树,返回所有根节点到叶子节点的路径)For example, given the following binary tree: 1 / \2 3 \ 5All root-to-leaf paths are: [“1->2->5”, “1->3”]1.个人分析原创 2016-12-01 13:00:52 · 465 阅读 · 0 评论 -
3Sum(三数和)
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.(给定含有n个元素的整型数组S,从数组S中找出所有的唯一三元组使得a+b+c=0成立)Not原创 2017-01-06 14:51:46 · 443 阅读 · 0 评论 -
Palindrome Number(回文数字)
Determine whether an integer is a palindrome. Do this without extra space.(判断一个整型数是否是回文,要求不能借用额外的空间)1.个人分析 题目中的额外空间应该是指空间复杂度为O(1),所有的负数不属于回文数。2.个人解法bool isPalindrome(int x) { if(x > INT_MAX || x原创 2016-12-18 20:49:42 · 831 阅读 · 0 评论 -
Container With Most Water(最大容器)
Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lin原创 2016-12-22 10:33:03 · 607 阅读 · 0 评论 -
Number of Boomerangs(统计"boomerang"的数目)
Given n points in the plane that are all pairwise distinct, a “boomerang” is a tuple of points (i, j, k) such that the distance between i and j equals the distance between i and k (the order of the tup原创 2016-11-28 14:50:48 · 410 阅读 · 0 评论 -
Longest Substring Without Repeating Characters(无重复最长子串)
Given a string, find the length of the longest substring without repeating characters.(给定一字符串,找出无重复的最长子串的长度)Examples: Given “abcabcbb”, the answer is “abc”, which the length is 3. Given “bbbbb”, the原创 2016-12-05 15:30:26 · 553 阅读 · 0 评论 -
Reverse Integer(反转整型数)
Reverse digits of an integer.(反转一个整型数)Example1: x = 123, return 321 Example2: x = -123, return -3211.个人分析 思路一:整型数转字符串->反转字符串->字符串转整型 思路二:数学解法,不断地进行整除和取余运算。2.个人解法 (1)int reverse(int x) { int si原创 2016-12-12 16:58:18 · 1837 阅读 · 0 评论 -
ZigZag Conversion(“Z”形转换)
The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (字符串”PAYPALISHIRING”以给定的行数写成如下Z形模式) (you may want to display this pattern in a fixed font for better l原创 2016-12-12 16:53:25 · 2036 阅读 · 0 评论 -
Add Two Numbers(基于链表的两数相加)
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linke原创 2016-12-03 14:26:15 · 686 阅读 · 0 评论 -
Two Sum(两数之和)
Given an array of integers, return indices of the two numbers such that they add up to a specific target.(给定一个整型数组,返回两数和的索引,这两数的和必须得到指定的目标)You may assume that each input would have exactly one solution原创 2016-12-02 18:12:49 · 1689 阅读 · 1 评论 -
Battleships in a Board(统计战舰数)
Given an 2D board, count how many different battleships are in it. The battleships are represented with ‘X’s, empty slots are represented with ‘.’s. You may assume the following rules: ● You receive原创 2016-11-07 16:39:39 · 276 阅读 · 0 评论 -
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 ugl原创 2016-10-15 13:16:45 · 644 阅读 · 0 评论 -
Majority Element
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.(给定一个大小为n的数组,找出majority element,majority element是指在数组中出现超过n/2次的元素) You may原创 2016-09-22 11:34:36 · 356 阅读 · 0 评论 -
Add Digits
Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.(给定一个非负整数num,重复加上它的所有数字直到结果只有一位数。)For example: Given num = 38, the process is like: 3 + 8 = 11, 1 +原创 2016-09-25 12:27:44 · 406 阅读 · 0 评论 -
Invert Binary Tree(反转二叉树)
Invert a binary tree.(反转一棵二叉树) 4 / \ 2 7 / \ / \1 3 6 9to 4 / \ 7 2 / \ / \9 6 3 11.个人分析: 这道题其实在《剑指Offer》中看到过,只不过书中说的是镜像二叉树而已,但它们的本质是一样的,只要通过对根节点的左右孩子节点两两原创 2016-09-25 11:19:49 · 438 阅读 · 0 评论 -
Maximum Depth of Binary Tree(二叉树的最大深度)
Given a binary tree, find its maximum depth.(找出给定二叉树的最大深度) The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.1.个人分析 可以使用深度优先查找来得到二叉树的高度原创 2016-09-25 11:25:36 · 477 阅读 · 0 评论 -
Move Zeroes(移动零元素)
Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.(给定一个数组,将数组中值为0的元素移动到所有非0元素的后面,而且非0元素之间保持原始的相对位置)For example, given原创 2016-09-24 11:49:56 · 628 阅读 · 0 评论 -
Delete Node in a Linked List(删除链表中的节点)
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.(实现删除一个除尾节点外的链表节点的函数,假定只能访问被删节点)Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are give原创 2016-09-24 11:40:23 · 1378 阅读 · 0 评论 -
Same Tree(等价二叉树)
Given two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are structurally identical and the nodes have the same value.(给定两二叉树,判断它们是否相同。当两原创 2016-09-24 11:18:57 · 467 阅读 · 0 评论 -
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 constru原创 2016-09-23 13:57:25 · 426 阅读 · 0 评论 -
Excel Sheet Column Number(Excel表列的数字)
Given a column title as appear in an Excel sheet, return its corresponding column number.(给定一个Excel表的列名,返回相应列的数字) For example: A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27原创 2016-09-23 13:46:47 · 720 阅读 · 0 评论 -
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.(给定一个字符串,找出第一个非重复的字符并返回下标,如果不存在则返回-1)Examples: s = “leetcode” return 0. s = “lovele原创 2016-09-22 11:18:17 · 2898 阅读 · 2 评论 -
Contains Duplicate
Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is原创 2016-09-22 11:09:54 · 1044 阅读 · 0 评论 -
Climbing Stairs(爬楼梯)
You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?(n个台阶的楼梯,每次能够上1或2个台阶,有多少种不同到达顶部的走法?原创 2016-10-15 13:13:40 · 708 阅读 · 0 评论 -
Best Time to Buy and Sell Stock(股票交易)
Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), desi原创 2016-10-15 13:10:05 · 475 阅读 · 0 评论 -
Arranging Coins(硬币排列)
You have a total of n coins that you want to form in a staircase shape, where every k-th row must have exactly k coins.(给你n枚硬币来组成一个阶梯形,这个阶梯每第k行必须包含k枚硬币)Given n ,find the total number of full staircase原创 2016-11-03 21:36:00 · 1716 阅读 · 0 评论 -
Number of 1 Bits(二进制中1的个数)
Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight).(给定一个无符号整型数,实现一个函数返回该整数的二进制中1的个数)For example, the 32-bit integer ’11’ has bi原创 2016-10-12 11:25:00 · 519 阅读 · 0 评论 -
Happy Number
Write an algorithm to determine if a number is “happy”.(判断一个数字是否是”happy”)A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum o原创 2016-10-12 11:12:44 · 259 阅读 · 0 评论 -
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.原创 2016-09-26 11:40:06 · 698 阅读 · 0 评论