![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 53
zjuzly
这个作者很懒,什么都没留下…
展开
-
Letter Combinations of a Phone Number解题报告
简单的递归。。。 vector letterCombinations(string digits) { if(digits.size() (); map mp; mp[0] = " "; mp[1] = "@"; mp[2] = "abc"; mp[3] = "def"; mp[4] = "ghi"; mp[5] = "jkl"; mp[6] = "mno"; mp[7] =原创 2015-03-29 14:02:11 · 457 阅读 · 0 评论 -
Sqrt(x)解题报告
int mySqrt(int x) { int e = 0; long long ret = 0; while((long long)(ret * ret) <= (long long)x){ ret = (int)pow(2.0, e++); } int l = 0; int r = ret; while(l <= r){ int mid = (l + r原创 2015-04-19 13:25:59 · 606 阅读 · 0 评论 -
Sudoku Solver解题报告
该题可以用回溯法求解,对当前位置(x, y),首先求出满足条件的数字作为候选C,对C中的每一个元素Ci, 令board[x][y] = Ci,进行到下一个位置(x’, y‘),判断是否满足,如果不满足,则令board[x][y]等于下一个候选,直到遍历完所有的候选值。步骤:1、如果当前位置不为空,进行到下一个位置;否则,执行步骤22、分别求出当前位置(x, y)所在行、列和块中已经出现的数原创 2015-04-07 20:40:39 · 627 阅读 · 0 评论 -
Search in Rotated Sorted Array解题报告
两种方法1、首先找到两个数组的分界,然后在两个数组上分别应用二分查找int bsearch(int A[], int start, int end, int target){ while(start <= end){ int mid = (start + end) >> 1; if(target == A[mid]) return mid; else if(targe原创 2015-04-06 22:07:06 · 484 阅读 · 0 评论 -
Substring with Concatenation of All Words解题报告
vector findSubstring(string S, vector &L) { int sLen = S.length(); if (sLen == 0) return vector(); int size = L.size(); if (size == 0) return vector(); in原创 2015-04-04 12:27:44 · 437 阅读 · 0 评论 -
Reverse Integer解题报告
题目比较简单,需要注意的是整数的范围AC Code//Reverse Integer int reverse(int x_) { long long x = x_; if (abs(x) > INT_MAX) return 0; bool isNeg = false; if (x < 0) isNeg = true; x = abs(x); vector dig原创 2015-03-25 18:50:14 · 400 阅读 · 0 评论 -
ZigZag Conversion解题报告
找规律的题目,题目的大意是给定一个字符串和行数,排列成锯齿形后逐行输出。比如“PAYPALISHIRING”输出之后应该是这样的:P A H NA P L S I I GY I R可以发现这样的规律:第一行和最后一行相邻两个字符之间的间隔是interval = (nRows - 1) * 2,中间行i(0 < i < nRows - 1)相邻两个字符之间的间隔有原创 2015-03-25 17:14:43 · 377 阅读 · 0 评论 -
Merge k Sorted Lists
归并排序在链表中的应用Code:ListNode *mergeTwoLists(ListNode *l1, ListNode *l2){ if (l1 == NULL) return l2; if (l2 == NULL) return l1; ListNode *p = l1->val > l2->val ? l2 : l1; ListNode *prev = NULL;原创 2015-04-01 13:41:53 · 362 阅读 · 0 评论 -
Reverse Nodes in k-Group
Code: //Runtime: 30 ms ListNode *reverseKGroup(ListNode *head, int k) { if (head == NULL) return NULL; if (k == 1) return head; ListNode *p1 = NULL, *p2 = NULL, *last = NULL, *next = h原创 2015-04-01 20:41:44 · 343 阅读 · 0 评论 -
Interleaving String解题报告
递归解法,需要主要两点:1、当前要比较的两个元素相等时,需要分两种情况讨论;2、超时处理机制,设置一个二维数组,记录已经处理过的节点的状态,有三个状态(-1, 0, 1)1)path[i1][i2] == -1 表示当前节点还未被遍历2)path[i1][i2] == 0 表示当前节点已遍历并且s3不可能由这条路径组成3)path[i1][i2] == 1 表示当前节点已遍历且原创 2015-05-07 21:57:39 · 506 阅读 · 0 评论