# [leetcode题解]15. 3sum

Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets …

# 14. Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string “”. Example 1: Input: [“flower”,”flow”,”fli …

# [leetcode题解]9. Palindrome Number

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward. Example 1: Input: 121 Output: true Example 2: Input: -121 Outpu …

# [leetcode题解]8. String to Integer (atoi)

Implement atoi which converts a string to an integer. The function first discards as many whitespace characters as necessary until the first non-whitespace character is found. Then, sta …

# [leetcode题解]7. Reverse Integer

Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Example 2: Input: -123 Output: -321 Example 3: Input: 120 Output: 21 Note: Assume we are dealing with an …

# [leetcode题解]6. ZigZag Conversion

The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H …

# [leetcode题解]03.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 …

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two …

# [leetcode题解]001.Two Sum

You may assume that each input would have exactly one solution, and you may not use the same element twice. Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, ret …

# leetcode刷题汇总

leetcode题目不断刷新，大家也都一直在刷，本文记录作者刷题记录，一直更新，权当抛砖引玉，欢迎大家一块交流学习。如果各位leetcoder发现题解有问题，欢迎指正交流，也希望大家可以提出更新颖的解题方法。新建leetcode算法交流群259150720，欢迎leetcoder进群交流。 0001 Two Sum array Easy 0002 Add Two Numbers linked li …

# [leetcode题解]547. Friend Circles,朋友圈

There are N students in a class. Some of them are friends, while some are not. Their friendship is transitive in nature. For example, if A is a direct friend of B, and B is a  …

# [leetcode题解]859. Buddy Strings

Given two strings A and B of lowercase letters, return true if and only if we can swap two letters in A so that the result equals B.   Example 1: …

# [leetcode题解]130. Surrounded Regions

Given a 2D board containing ‘X’ and ‘O’ (the letter O), capture all regions surrounded by ‘X’. A region is captured by flipping all &# …

# [leetcode题解]303. Range Sum Query – Immutable

Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive. Example: Given nums = [-2, 0, 3, -5, 2, -1] sumRange(0, 2) -&gt …

# [leetcode题解]快速求解某数的下取整平方根

leetcode第69题，计算某数的下取整平方根sqrt(x) 题目如下： Implement int sqrt(int x). Compute and return the square root of x, where x is guaranteed to be a non-negative integer. Since the return type& …

# 476. Number Complement

476. Number Complement Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation. Note: The given integer is guaranteed to fit wi …

# [pat题解]1108.Finding Average

PAT1108题，本题要求输入N个字符串，然后判断这些字符串是否表示一个合法的数，将所有合法的数求和并计算其均值。对于不合法的数，对其进行输出。 合法规则：值必须在[-1000, 1000]范围内，并且精度不能超过小数点后两位。规则比较简单。 本题注意点： 1.要判断精度，比如1.000，精度为三位小数，不符合规则，则表示该数是非法的。 2.要判断该字符串能否表示一个数，比如aaa，显然不能表示一 …

# [leetcode题解]215.Kth Largest Element in an Array(数组中找第k大数)

leetcode,215,Kth Largest Element in an Array,给定一个包括若干元素的数组以及一个k，要求在数组中找出第k大的数。 通常的思路是排序，然后可以快速找到第k大的数，时间复杂度o(nlogn)。比较好的方法是借助快排的思想，一次轴分，可以以o(n)的时间复杂度找到第k大数。 c++代码： class Solution { public: //author:凌风 …

# leetcode 单链表相关题目汇总

leetcode-2-Add Two Numbers—两链表表示的数相加                        leetcode-19-Remove Nth From End of List—移除链表中倒数第n个元素  leetcode- …

# [leetcode题解]143. Reorder List(链表重排序)

leetcode第143题，recorder list，属于linked-list相关的题目。 题目给定一个单链表，然后要求按给定的顺序重新排列所有元素，要求在原地做，而且不能修改节点中的值，只能修改节点的插入顺序。重排序的规则如下示例： L:a0->a1->a2->a3…..->an 将其修改为L:a0->an->a1->an-1->& …

leetcode，2，Add Two Numbers,给定两个单链表，将两个单链表从左到右进行相加，题目中已知不会出现前导0。本题可以直接对两单链表同时进行遍历相加即可，保留一个进位，检测最后是否要进行正确进位，python和c++两种语言写，代码如下： python代码 class Solution(object): def addTwoNumbers(self, l1, l2): “”” :t …

# [leetcode题解]19.Remove Nth Node From End of List(删除倒数N个元素)

leetcode,19,Remove Nth Node From End of List,给定一个单链表，删除倒数第N个元素，要求进行一遍遍历即可。思路是利用两个指针，一个提前走N步，然后另一个指针指向开头，两个指针同时走，当前面的指针到尾部时，后面的指针正好位于要删除的元素位置。为了得到要删除位置的前一个位置，可以加入一个预头，然后，前面的指针从头开始，后面的指针从预头开始。 c++代码： cl …

# [leetcode题解]21.Merge two Sorted Lists（两排序链表合并）

leetcode,21,Merge Two Sorted Lists,单链表合并问题，合并两个已排序链表为一个完整的已排序链表。 直接使用两个指针依次比较其中值大小即可，小的插入，并且指针后移，最后不要忘记把剩下的非空链表加入链尾。 此题的升级版本为leetcode,23,Merge K Sorted Lists.  c++代码： class Solution { public: Lis …

# [leetcode题解]23.Merge K Sorted Lists(多链表合并)

leetcode,23题，Merge K Sorted Lists,多排序链表合并为一个有序链表问题。可以直接使用priority_queue或者heap。 多个链表以vector形式组织，vector中可能含有空链表，所以建堆或者初始化优先队列之前先对vector进行过滤，将空链表过滤掉。 注意优先队列的写法，类型，底层容器，以及要用到的比较器，比较器是一个重载了括号操作符的普通类。 c++题解 …

# [leetcode题解]24.Swap Nodes in Pairs(节点交换)

leetcode 第24题，将链表中相邻元素位置颠倒，题目要求不能改变元素节点中元素的值，只能改动节点位置。也就是要求在链表中删除插入。 python代码如下： # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = No …