力扣(LeetCode)刷题,简单题(第9期)
生活随笔
收集整理的這篇文章主要介紹了
力扣(LeetCode)刷题,简单题(第9期)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
第1題:反轉(zhuǎn)圖像
第2題:上升下降字符串
第3題:合并兩個(gè)排序鏈表
第4題:和為0的N個(gè)唯一整數(shù)
第5題:反轉(zhuǎn)二叉樹(shù)
第6題:高度檢查器
第7題:距離值
第8題:自除數(shù)
第9題:最大數(shù)值
第10題:反轉(zhuǎn)字符串
力扣(LeetCode)定期刷題,每期10道題,業(yè)務(wù)繁重的同志可以看看我分享的思路,不是最高效解決方案,只求互相提升。
第1題:反轉(zhuǎn)圖像
試題要求如下:
回答(C語(yǔ)言):
/*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/
int** flipAndInvertImage(int** A, int ASize, int* AColSize, int* returnSize, int** returnColumnSizes){int num=0,data_buf=0;for(int i=0;i<ASize;i++){num=AColSize[i]-1;for(int j=0;j<AColSize[i];j++,num--){if(j<num){data_buf=A[i][j];A[i][j]=A[i][num];A[i][num]=data_buf;}}for(int j=0;j<AColSize[i];j++){A[i][j]=!A[i][j];}}*returnSize=ASize;*returnColumnSizes=AColSize;return A;
}
運(yùn)行效率如下所示:
第2題:上升下降字符串
試題要求如下:
回答(C語(yǔ)言):
char * sortString(char * s){int* cnt = (int*)malloc(sizeof(int)*26);memset(cnt,0,sizeof(int)*26);int len = strlen(s);int i = len,j=0;while(i--) cnt[ s[i] - 'a']++;for(i = 0;i<len;){for(j = 0 ; j<26&&i<len ; j++){if(cnt[j]>0){s[i++] = 'a' + j;cnt[j]--;}}for(j=25 ; j>=0 && i<len ; j--){if(cnt[j]>0){s[i++] = 'a' + j;cnt[j]--;}}}return s;
}
運(yùn)行效率如下所示:
第3題:合并兩個(gè)排序鏈表
試題要求如下:
回答(C語(yǔ)言):
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){if (NULL == l1)return l2;if (NULL == l2)return l1;if (l1->val > l2->val){l2->next=mergeTwoLists(l1, l2->next);return l2;}else{l1->next=mergeTwoLists(l1->next, l2);return l1;}
}
運(yùn)行效率如下所示:
第4題:和為0的N個(gè)唯一整數(shù)
試題要求如下:
回答(C語(yǔ)言):
/*** Note: The returned array must be malloced, assume caller calls free().*/
int* sumZero(int n, int* returnSize){int* data_buf=(int*)malloc(sizeof(int)*(n));memset(data_buf,0,sizeof(int)*(n));*returnSize=n;for(int i=0,j=n-1;i<n/2;i++,j--){data_buf[i]=i+1;data_buf[j]=-(i+1);}return data_buf;
}
運(yùn)行效率如下所示:
第5題:反轉(zhuǎn)二叉樹(shù)
試題要求如下:
回答(C語(yǔ)言):
/*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/struct TreeNode* invertTree(struct TreeNode* root){if(root==0) return 0;struct TreeNode* tmp=root->left;root->left=invertTree(root->right);root->right=invertTree(tmp);return root;
}
運(yùn)行效率如下所示:
第6題:高度檢查器
試題要求如下:
回答(C語(yǔ)言):
int cmp(const void *a, const void *b)
{return *(int*)a - *(int*)b;
}
int heightChecker(int* heights, int heightsSize){int ans = 0, tmp[heightsSize];for(int i = 0;i < heightsSize;++i)tmp[i] = heights[i];qsort(tmp, heightsSize, sizeof(int), cmp);for(i = 0;i < heightsSize;++i){if(tmp[i] != heights[i])++ans;}return ans;
}
運(yùn)行效率如下所示:
第7題:距離值
試題要求如下:
回答(C語(yǔ)言):
int findTheDistanceValue(int* arr1, int arr1Size, int* arr2, int arr2Size, int d){int ans = 0;for(int i = 0,j = 0;i < arr1Size;++i){for(j = 0;j < arr2Size && abs(arr1[i] - arr2[j]) > d;++j);if(j >= arr2Size)++ans;}return ans;
}
運(yùn)行效率如下所示:
第8題:自除數(shù)
試題要求如下:
回答(C語(yǔ)言):
/*** Note: The returned array must be malloced, assume caller calls free().*/
int* selfDividingNumbers(int left, int right, int* returnSize){int len = right-left+1;int index=0;int *returnNum = (int *)malloc(sizeof(int)*(len+1));memset(returnNum, 0, sizeof(int)*(len+1));for(int i=left; i<=right; i++){int flag=0, num=1, tmp=i;while(tmp > 0){num = tmp%10;if(num == 0 || i%num != 0){flag = 1;}tmp /= 10;}if(flag == 0)returnNum[index++] = i;}*returnSize = index;return returnNum;
}
運(yùn)行效率如下所示:
第9題:最大數(shù)值
試題要求如下:
回答(C語(yǔ)言):
/* a-b, k等于結(jié)果的符號(hào)位 */
/* k=1, b>a, 返回b*1 + a*0 */
/* k=0, b<=a, 返回b*0 + a*1 */int maximum(int a, int b){long k = (((long)a - (long)b) >> 63) & 1;return b * k + a * (k ^ 1);
}
運(yùn)行效率如下所示:
第10題:反轉(zhuǎn)字符串
試題要求如下:
回答(C語(yǔ)言):
void reverseString(char* s, int sSize){int i=0,j=sSize-1;char data_buf;while(i<j){data_buf=s[i];s[i]=s[j];s[j]=data_buf;i++;j--;}
}
運(yùn)行效率如下所示:
總結(jié)
以上是生活随笔為你收集整理的力扣(LeetCode)刷题,简单题(第9期)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: GitHub开源:100美元自制激光雷达
- 下一篇: 一文看懂Modbus协议