LeetCode
zjjee
这个作者很懒,什么都没留下…
展开
-
[LeetCode] Unique Paths II
class Solution {public: int uniquePathsWithObstacles(vector > &obstacleGrid) { int m = obstacleGrid.size(),n = obstacleGrid[0].size(); vector > res(m, vector(n)); res[0][0原创 2014-11-07 16:35:15 · 319 阅读 · 0 评论 -
[LeetCode] Subsets
class Solution {public: vector > result; void dfs(vector &num,int deep,int maxDeep,vector a,int start){ result.push_back(a); if(deep == maxDeep) return; for(int i = st原创 2014-11-10 17:00:03 · 203 阅读 · 0 评论 -
[LeetCode] Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.For example,Given the following matrix:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]原创 2014-11-11 16:01:38 · 257 阅读 · 0 评论 -
[LeetCode] Spiral Matrix II
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For example,Given n = 3,You should return the following matrix:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [原创 2014-11-11 16:34:46 · 393 阅读 · 0 评论 -
[LeetCode] Sort Colors
class Solution {public: void sortColors(int A[], int n) { int r = 0,p = 0,b = n - 1; while(p <= b){ if(A[p] == 0){ Swap(A,p,r ++); p ++原创 2014-11-12 17:25:02 · 342 阅读 · 0 评论 -
[LeetCode] Set Matrix Zeroes
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.原创 2014-11-13 16:31:17 · 275 阅读 · 0 评论 -
[LeetCode] Search Insert Position
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.You may assume no duplicates in the array.原创 2014-11-13 17:09:39 · 248 阅读 · 0 评论 -
[LeetCode] Maximum Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [−2,1,−3,4,−1,2,1,−5,4],the contiguous subarray [4,−1,2,1]原创 2014-11-17 16:44:06 · 201 阅读 · 0 评论 -
[LeetCode] Find Minimum in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).Find the minimum element.You may assume no duplicate exists in原创 2014-11-17 22:31:46 · 275 阅读 · 0 评论 -
[LeetCode] Minimum Path Sum
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.Note: You can only move either down or right at原创 2014-11-17 16:29:23 · 244 阅读 · 0 评论 -
[LeetCode] Next Permutation
class Solution {public: void nextPermutation(vector &num) { int n = num.size() - 1,i; int curMax = num[n],curMin; for(i = n - 1;i >= 0;i --){//从后往前 if(num[i] >原创 2014-11-17 15:44:25 · 286 阅读 · 0 评论 -
[LeetCode] Sqrt(x)
Implement int sqrt(int x).Compute and return the square root of x.牛顿迭代法原创 2014-11-18 15:44:55 · 193 阅读 · 0 评论 -
[LeetCode] Reverse Integer
Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321click to show spoilers.Have you thought about this?Here are some good questions to ask before c原创 2014-11-18 16:53:33 · 307 阅读 · 0 评论 -
[LeetCode] Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.click to show spoilers.Some hints:Could negative integers be palindromes? (ie, -1)If you are thinking of convertin原创 2014-11-18 17:05:12 · 248 阅读 · 0 评论 -
[LeetCode] Path Sum
class Solution {public: bool hasPathSum(TreeNode *root, int sum) { return check(root,sum,0); } bool check(TreeNode *root,int sum,int curSum){ if(root == NULL)原创 2014-11-01 16:52:38 · 311 阅读 · 0 评论 -
[LeetCode] Search in Rotated Sorted Array II
非递归class Solution{public: bool search(int A[], int n, int target) { int first = 0, last = n; while (first != last) { const int mid = (first + last) / 2;原创 2014-09-29 15:12:19 · 385 阅读 · 0 评论 -
[LeetCode] Anagrams
class Solution {public: vector anagrams(vector &strs) { string s; map m; vector result; for(int i = 0;i < strs.size();i ++){ string s = strs[i];原创 2014-10-26 17:31:24 · 222 阅读 · 0 评论 -
[LeetCode] Roman to Integer
class Solution {public: int romanToInt(string s) { map m; m['I'] = 1; m['V'] = 5; m['X'] = 10; m['L'] = 50; m['C'] = 100; m['D'] = 500;原创 2014-10-24 14:51:44 · 302 阅读 · 0 评论 -
[LeetCode] Symmetric Tree
class Solution {public: bool isSymmetric(TreeNode *root) { if(root == NULL) return true; return check(root -> left,root -> right); } bool check(TreeNode * left原创 2014-11-01 12:35:59 · 284 阅读 · 0 评论 -
[LeetCode] Binary Tree Zigzag Level Order Traversal
class Solution {public: vector >result; vector > zigzagLevelOrder(TreeNode *root) { vector v; vector node; if(root == NULL) return result; node.pus原创 2014-10-30 23:21:11 · 309 阅读 · 0 评论 -
[LeetCode] Binary Tree Preorder Traversal
非递归:class Solution {public: vector preorderTraversal(TreeNode *root) { vector v; stack s; if(root == NULL) return v; s.push(root); TreeNode*原创 2014-10-27 12:50:49 · 236 阅读 · 0 评论 -
[LeetCode] Valid Sudoku
Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.The Sudoku board could be partially filled, where empty cells are filled with the character '.'.A partially fille原创 2014-11-18 13:42:21 · 275 阅读 · 0 评论 -
[LeetCode] Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. Fo原创 2014-11-18 14:47:41 · 227 阅读 · 0 评论 -
[LeetCode] Pow(x, n)
Implement pow(x, n).原创 2014-11-18 16:10:37 · 200 阅读 · 0 评论 -
[LeetCode] Same Tree
class Solution {public: bool isSameTree(TreeNode *p, TreeNode *q) { if(p == NULL && q == NULL) return true; if(p == NULL || q == NULL) return false;原创 2014-11-01 12:57:13 · 198 阅读 · 0 评论 -
[LeetCode] Balanced Binary Tree
class Solution {public: bool isBalanced(TreeNode *root) { if(root == NULL) return true; return isBalanced(root -> left) && isBalanced(root -> right) && abs(hei原创 2014-11-01 14:06:58 · 194 阅读 · 0 评论 -
[LeetCode] Permutation Sequence
The set [1,2,3,…,n] contains a total of n! unique permutations.By listing and labeling all of the permutations in order,We get the following sequence (ie, for n = 3):"123""132""213""231""3原创 2014-11-19 15:01:11 · 240 阅读 · 0 评论 -
[LeetCode] Pascal's Triangle
class Solution {public: vector > result; vector > generate(int numRows) { result.clear(); vector v; for(int i = 0;i < numRows;i ++){ if(i == 0){原创 2014-11-03 13:23:15 · 270 阅读 · 0 评论 -
[LeetCode] Pascal's Triangle II
class Solution {public: vectorgetRow(int rowIndex) { vector v(rowIndex + 1); v[0] = 1; for(int i = 1;i < rowIndex + 1;i ++){ v[i] = 1; for(int j = i原创 2014-11-03 14:24:33 · 213 阅读 · 0 评论 -
[LeetCode] Plus One
class Solution {public: vector plusOne(vector &digits) { int c = 1,d = 0; for(int i = digits.size() - 1;i >= 0;i --){ d = digits[i] + c; c = d/10;原创 2014-11-03 16:48:47 · 263 阅读 · 0 评论 -
[LeetCode] Unique Binary Search Trees
class Solution {public: int numTrees(int n) { int * v = new int[n + 1]; v[0] = 1; v[1] = 1; v[2] = 2; for(int i = 3;i <= n;i ++){ for(int j = 0原创 2014-11-02 16:30:36 · 220 阅读 · 0 评论 -
[LeetCode] Add Binary
Given two binary strings, return their sum (also a binary string).For example,a = "11"b = "1"Return "100".class Solution {public: string addBinary(string a, string b) { int原创 2014-11-19 16:07:37 · 251 阅读 · 0 评论 -
[LeetCode] Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.push(x) -- Push element x onto stack.pop() -- Removes the element on top of the stack.top() -- Get原创 2014-11-20 17:06:05 · 249 阅读 · 0 评论 -
[LeetCode] Path Sum II
class Solution {public: vector > result; vector > pathSum(TreeNode *root, int sum) { vector v; check(root,sum,0,v); return result; } void check(TreeNode *root,原创 2014-11-02 15:12:22 · 237 阅读 · 0 评论 -
[LeetCode] Rotate Image
//解题思路:先外环的数交换,再内环的数交换class Solution {public: void rotate(vector > &matrix) { int n = matrix[0].size(); for(int k = 0;k < n/2;k ++) for(int i = k;i < n - k - 1;i ++){原创 2014-11-04 23:51:56 · 258 阅读 · 0 评论 -
[LeetCode] Reverse Linked List II
Reverse a linked list from position m to n. Do it in-place and in one-pass.For example:Given 1->2->3->4->5->NULL, m = 2 and n = 4,return 1->4->3->2->5->NULL.Note:Given m, n satisfy the原创 2014-11-26 15:57:14 · 263 阅读 · 0 评论 -
[LeetCode] 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 link原创 2014-11-20 23:32:29 · 318 阅读 · 0 评论 -
[LeetCode] Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the原创 2014-11-21 17:09:37 · 302 阅读 · 0 评论 -
[LeetCode] Minimum Depth of Binary Tree
class Solution {public: int minDepth(TreeNode *root) { if(root == NULL) return 0; if(root -> left == NULL) return minDepth(root -> right) + 1; if(原创 2014-10-31 16:15:59 · 312 阅读 · 0 评论 -
[LeetCode] 3Sum Closest
class Solution {public: int threeSumClosest(vector &num, int target) { int min = 10000; int result,sum,sumx; sort(num.begin(),num.end()); for(int i = 0;i < num.si原创 2014-10-14 14:07:08 · 258 阅读 · 0 评论