力扣(LeetCode)刷题,简单题(第21期)
生活随笔
收集整理的這篇文章主要介紹了
力扣(LeetCode)刷题,简单题(第21期)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
第1題:最大連續1的個數
第2題:相同的樹
第3題:檢查平衡性
第4題:僅僅反轉字母
第5題:檢測大寫字母
第6題:在區間范圍內統計奇數數目
第7題:二分查找
第8題:字符串輪轉
第9題:公交車站間的距離
第10題:有效的括號(2020 嗶哩嗶哩校招筆試題)
力扣(LeetCode)定期刷題,每期10道題,業務繁重的同志可以看看我分享的思路,不是最高效解決方案,只求互相提升。
第1題:最大連續1的個數
試題要求如下:
回答(C語言):
int findMaxConsecutiveOnes(int* nums, int numsSize){int temp = 0;for(int i = 0,cou = 0; i < numsSize; i++){if(nums[i] == 1){cou++;}else{cou = 0;}if(cou > temp){temp = cou;}}return temp;
}
運行效率如下所示:
第2題:相同的樹
試題要求如下:
回答(C語言):
/*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if (p == NULL && q == NULL) {return true;} else if (p == NULL || q == NULL) {return false;} else if (p->val != q->val) {return false;} else {return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);}
}
運行效率如下所示:
第3題:檢查平衡性
試題要求如下:
回答(C語言):
/*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/#define MAX(a, b) ((a) < (b) ? (b) : (a))bool CoreFunc(struct TreeNode* root, int* depth)
{if (NULL == root) {*depth = 0;return true;}if (NULL == root->left && NULL == root->right) {*depth = 1;return true;}int left = 0;int right = 0;bool ret = CoreFunc(root->left, &left) && CoreFunc(root->right, &right);int res = left > right ? left - right : right - left;*depth = MAX(left, right) + 1;if (ret && res <= 1) {return true;} else {return false;}
}bool isBalanced(struct TreeNode* root)
{if (NULL == root) {return true;}int depth = 0;return CoreFunc(root, &depth);
}
運行效率如下所示:
第4題:僅僅反轉字母
試題要求如下:
回答(C語言):
char * reverseOnlyLetters(char * S){int i=0,j=strlen(S)-1;char tmp=0;while(i<j){if(!((S[i] >= 'a' && S[i] <= 'z') || (S[i] >= 'A' && S[i] <= 'Z')))//排除i指向非字母的情況{i++;continue;}if(!((S[j] >= 'a' && S[j] <= 'z') || (S[j] >= 'A' && S[j] <= 'Z')))//排除j指向非字母的情況{j--;continue;}tmp=S[i];//交換字母S[i]=S[j];S[j]=tmp;i++;j--;}return S;
}
運行效率如下所示:
第5題:檢測大寫字母
試題要求如下:
回答(C語言):
bool detectCapitalUse(char * word){int len = strlen(word);int cnt = 0;for(int i = 0;i<len;i++){if((word[i] >= 'A')&&(word[i] <= 'Z'))cnt++; }//對應情況1和情況3if((cnt == len)||(cnt == 0)){return true;}//對應情況2else if(((word[0] >= 'A')&&(word[0] <= 'Z')&&(cnt == 1))){return true;}return false;
}
運行效率如下所示:
第6題:在區間范圍內統計奇數數目
試題要求如下:
?
回答(C語言):
int countOdds(int low, int high){if((low%2 == 0) && (high%2 ==0)){return (high-low)/2;}return (high-low)/2+1;
}
運行效率如下所示:
第7題:二分查找
試題要求如下:
回答(C語言):
int search(int* nums, int numsSize, int target){int left = 0;int right = numsSize - 1;int mid = 0;while (left <= right) {mid = left + (right - left) / 2;if (nums[mid] == target) {return mid;} else if (nums[mid] < target) {left = mid + 1;} else if (nums[mid] > target) {right = mid - 1;}}return -1;
}
運行效率如下所示:
第8題:字符串輪轉
試題要求如下:
回答(C語言):
bool isFlipedString(char* s1, char* s2){int a = strlen(s1),b = strlen(s2);if(a != b) return false;int count = 0;for(int i = 0; i < a; i++){if(s1[i] == s2[count]){count++;} } int m = count;for(int i = 0; i < a-count; i++){if(s1[i] != s2[m]){return false;}m++;}return true;
}
運行效率如下所示:
第9題:公交車站間的距離
試題要求如下:
回答(C語言):
int distanceBetweenBusStops(int* distance, int distanceSize, int start, int destination){int dis1 = 0, dis2 = 0;;int s;s = start;while (s != destination) {dis1 += distance[s];s = (s + 1) % distanceSize;}while (s != start) {dis2 += distance[s];s = (s + 1) % distanceSize;}return dis1 < dis2 ? dis1 : dis2;
}
運行效率如下所示:
第10題:有效的括號(2020 嗶哩嗶哩校招筆試題)
試題要求如下:
回答(C語言):
bool isValid(char * s){int top = 0;char* stack = (char*)malloc(strlen(s));if (s==NULL || strlen(s)<=0) return true;for (int i = 0; i<strlen(s); i++){if(s[i]=='(' || s[i]=='{' || s[i]=='['){stack[top++] = s[i];}else{if(--top < 0) return false;if(s[i]==')' && stack[top] != '(') return false;if(s[i]=='}' && stack[top] != '{') return false;if(s[i]==']' && stack[top] != '[') return false;}}if (top > 0) return false;return true;
}
運行效率如下所示:
總結
以上是生活随笔為你收集整理的力扣(LeetCode)刷题,简单题(第21期)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10行Python代码实现Web自动化管
- 下一篇: Spring Boot+Maven实现车