
LeetCode
一些LeetCode的解题过程和方法
千寻瀑༄
一身诗意千寻瀑,万古人间四月天
展开
-
LeetCode:2. 两数相加(中等)
2. 两数相加(中等)题目:解题思路:源码:踩坑点:题目:解题思路:把俩个链表对应位相加,如果大于等于10,对10取余,小于10,直接得到这一位解题过程存在这样几个问题:1、进行循环时,俩个链表长度不相等;9876 + 5432、俩个链表的数相加时,长度大于俩个链表中的任何一个; 9876 + 543 = 10419源码:struct ListNode* addTwoNumber...原创 2020-03-26 12:01:06 · 244 阅读 · 0 评论 -
LeetCode:999. 车的可用捕获量
999. 车的可用捕获量题目:解题思路:源码:踩坑点:题目:解题思路:其实很简单,先找到车的位置,在扫描车所在的行和列判断即可源码:int numRookCaptures(char** board, int boardSize, int* boardColSize){ int i,j; int h,l; int count = 0; for(i=0;...原创 2020-03-26 09:38:05 · 157 阅读 · 0 评论 -
LeetCode:136. 只出现一次的数字
136. 只出现一次的数字题目:解题思路:源码:踩坑点:题目:解题思路:1、法一:遍历 nums\text{nums}nums 中的每一个元素如果某个 nums\text{nums}nums 中的数字是新出现的,则将它添加到列表中如果某个数字已经在列表中,删除它2、法二:哈希表3、法三:数学方法:2∗(a+b+c)−(a+a+b+b+c)=c4、法四:异或:7异或7异或5...原创 2020-03-25 21:35:24 · 171 阅读 · 0 评论 -
LeetCode:892. 三维形体的表面积
892. 三维形体的表面积题目:解题思路:源码:踩坑点:题目:解题思路:我们先来理解一下题意:[[1,2],[3,4]]就是一个二维数组A。A[i][j]表示每一个以单位正方形为底的空间上正方体的个数。[[1,2],[3,4]]的意思就是假如我们把底面看作四个单位正方形,1、2、3、4就表示每个正方形上有正方体的个数。如下图,第一个正方形上有一个正方体;第二个正方形上有二个正方体;...原创 2020-03-25 12:27:32 · 237 阅读 · 0 评论 -
LeetCode:面试题40. 最小的k个数
40. 最小的k个数题目:解题思路:源码:题目:解题思路:1、快速排序:2、堆排序:详细解释看leetcode的官网源码:int comp(void *a,void *b){ int *A = (int*)a; int *B = (int*)b; return *A - *B;} int* getLeastNumbers(int* arr, int...原创 2020-03-20 11:55:13 · 217 阅读 · 0 评论 -
LeetCode:922. 按奇偶排序数组 II
922. 按奇偶排序数组 II题目:解题思路:源码:踩坑点:题目:解题思路:维护俩个标记即可,每次让标记加2源码:int* sortArrayByParityII(int* A, int ASize, int* returnSize){ int *b = (int *)malloc(sizeof(int) * ASize);// memset(b, 0, sizeof(...原创 2020-03-19 15:38:22 · 169 阅读 · 0 评论 -
LeetCode:917. 仅仅反转字母
917. 仅仅反转字母题目:解题思路:源码:踩坑点:题目:解题思路:设俩个指针,一个位于字符串第一个字符,一个位于最后一个字符,当都为字符时交换;不都为字符时直接跳过。源码:char * reverseOnlyLetters(char * S){ char b[100]; char temp; int i = 0; int j = strlen(S)-1...原创 2020-03-19 14:58:43 · 292 阅读 · 0 评论 -
LeetCode:226. 翻转二叉树
226. 翻转二叉树题目:解题思路:源码:踩坑点:题目:解题思路:用递归的方法将二叉树的左右节点互换,核心思想就是交换源码:struct TreeNode* invertTree(struct TreeNode* root){ if(root == NULL) return NULL; struct TreeNode* tmp = root -> ...原创 2020-03-19 13:08:13 · 117 阅读 · 0 评论 -
LeetCode:409、最长回文串
409、最长回文串题目:解题思路:源码:踩坑点:题目:解题思路:先记录每个字符出现的次数;然后除2在乘2;奇数次则会取最大偶数次;偶数次则不变;然后判断是否存在奇数次的字符;若存在且结果为偶数个字符,则结果加1然后将这个字符数组置0(必须置0);源码:int longestPalindrome(char * s){ int res = 0; int count[1...原创 2020-03-19 12:55:41 · 245 阅读 · 0 评论