目录

第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期)相关推荐

  1. Leetcode-How-What 力扣Leetcode刷题指南

    Leetcode-How-What 力扣Leetcode刷题指南 About the way how to use Leetcode wisely for preparing the intervie ...

  2. 力扣(LeetCode)刷题,简单+中等题(第35期)

    力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升. 第1题:解码异或后的排列 试题要求如下: 回答(C语言): /*** Note: ...

  3. 力扣(LeetCode)刷题,简单+中等题(第26期)

    目录 第1题:字典序排数 第2题:字符串解码 第3题:查找常用字符 第4题:所有奇数长度子数组的和 第5题:长按键入 第6题:分割字符串的最大得分 第7题:回文链表 第8题:有多少小于当前数字的数字 ...

  4. 力扣(LeetCode)刷题,简单题(第23期)

    目录 第1题:整数转换 第2题:重复的子字符串 第3题:范围求和2 第4题:反转数位 第5题:数字转换为十六进制 第6题:比较含退格的字符 第7题:三个数的最大乘积 第8题:珠玑妙算 第9题:旋转字符 ...

  5. 力扣(LeetCode)刷题,简单题(第15期)

    目录 第1题:将整数转换为两个无零整数的和 第2题:一周中的第几天 第3题:把二叉搜索树转换为累加树 第4题:连续字符 第5题:拿硬币 第6题:删除中间节点 第7题:猜数字 第8题:整数的各位积和之差 ...

  6. 力扣(LeetCode)刷题,简单题(第5期)

    目录 第1题:二进制中1的个数 第2题:打印从 1 到最大的 n 位十进制数 第3题:删除链表的节点 第4题:调整数组顺序使奇数位于偶数前面 第5题:链表中倒数第K个节点 第6题:反转链表 第7题:二 ...

  7. 力扣(LeetCode)刷题,简单+中等题(第34期)

    目录 第1题:整数转罗马数字 第2题:电话号码的字母组合 第3题:二叉树的所有路径 第4题:砖墙 第5题:下一个排列 第6题:括号生成 第7题:删除并获得点数 第8题:全排列 第9题:颜色分类 第10 ...

  8. 力扣(LeetCode)刷题,简单+中等题(第33期)

    目录 第1题:Z 字形变换 第2题:删除字符串中的所有相邻重复项 第3题:基本计算器 II 第4题:螺旋矩阵 第5题:螺旋矩阵 II 第6题:盛最多水的容器 第7题:删除有序数组中的重复项 II 第8 ...

  9. 力扣(LeetCode)刷题,简单+中等题(第32期)

    目录 第1题:数组的度 第2题:托普利茨矩阵 第3题:爱生气的书店老板 第4题:翻转图像 第5题:有效的数独 第6题:无重复字符的最长子串 第7题:区域和检索 - 数组不可变 第8题:二维区域和检索 ...

  10. 力扣(LeetCode)刷题,简单+中等题(第31期)

    目录 第1题:同构字符串 第2题:最后一块石头的重量 第3题:最小路径和 第4题:键盘行 第5题:存在重复元素 II 第6题:两数相加 第7题:三个数的最大乘积 第8题:等价多米诺骨牌对的数量 第9题 ...

最新文章

  1. 前后端交互,网络请求
  2. 网页制作知识:XHTML 和 DOCTYPE 切换
  3. 北京大兴要打造成未来科技新中心?
  4. Windows Server 2012 R2工作文件夹⑤:创建工作文件夹
  5. 阿里云接入的认证方式,一机一密、一型一密、动态注册
  6. python3爬虫基础学习
  7. setsockopt 设置socket 详细用法
  8. boost::log相关用法的测试程序
  9. 重磅下载 | 如何构建Flutter企业级应用开发?
  10. .Net Attribute详解(下) - 使用Attribute武装枚举类型
  11. 测试开发之软件测试模型
  12. 如何让地面不起灰_地面不平能铺地板吗?木地板不平怎么修复
  13. 2018年湘潭大学程序设计竞赛 F maze
  14. spring教程笔记4
  15. JavaScript设计模式-观察者模式
  16. 学生信息管理系统(java)
  17. C语言lo如何优化运行界面,高质量程序优化总结整理【经典】
  18. html未响应是什么原因,ie浏览器未响应如何解决
  19. Python编写的命令行版微信。(已集成自动聊天机器人(通过网址api形式))
  20. 全闪存数据中心首次落地后,银行业数字化冲破“天花板”

热门文章

  1. Git基本命令和GitFlow工作流
  2. [JAVA EE] Thymeleaf 高级用法:模板布局,带参数的引用片段,表单验证,常用校验注解
  3. Android ListView (多个adapter 说明)
  4. Android switchCompat. 和 Switch
  5. Binary XML file line #39: 最多只支持3个子View,Most only support three sub vi
  6. 适定、超定和欠定方程的概念
  7. 2022-2028年中国芯片封测行业深度调研及投资前景预测报告(全卷)
  8. 第一段冲刺_个人总结_5.2
  9. mysql 常用sql与命令
  10. 使用Struts2标签遍历集合