网站建设入门到精通,建立网站需要什么条件,宁夏做网站建设公司,搜索引擎营销的特点包括文章目录 剑指offerWeek2周六#xff1a;表示数值的字符串AC代码思路#xff1a; 周六#xff1a;调整数组顺序使奇数位于偶数前面AC代码思路#xff1a; 剑指offerWeek2
周六#xff1a;表示数值的字符串
题目链接#xff1a;表示数值的字符串
请实现一个函数用来判… 文章目录 剑指offerWeek2周六表示数值的字符串AC代码思路 周六调整数组顺序使奇数位于偶数前面AC代码思路 剑指offerWeek2
周六表示数值的字符串
题目链接表示数值的字符串
请实现一个函数用来判断字符串是否表示数值包括整数和小数。例如字符串100,5e2,-123,3.1416和-1E-16都表示数值。但是12e,1a3.14,1.2.3,-5和12e4.3都不是。注意:
小数可以没有整数部分例如.123等于0.123
小数点后面可以没有数字例如233.等于233.0
小数点前面和后面可以有数字例如233.666;
当e或E前面没有数字时整个字符串不能表示数字例如.e1、e1
当e或E后面没有整数时整个字符串不能表示数字例如12e、12e5.4;
数据范围
输入字符串长度 [0,25]
字符串中不含空格。样例
输入: 0输出: trueAC代码
class Solution {
public:bool isNumber(string s) {int i 0;while (i s.size() s[i] ) i ;int j s.size() - 1;while (j 0 s[j] ) j -- ;if (i j) return false;s s.substr(i, j - i 1);if (s[0] - || s[0] ) s s.substr(1);if (s.empty() || s[0] . s.size() 1) return false;int dot 0, e 0;for (int i 0; i s.size(); i ){if (s[i] 0 s[i] 9);else if (s[i] .){dot ;if (e || dot 1) return false;}else if (s[i] e || s[i] E){e ;if (i 1 s.size() || !i || e 1 || i 1 s[0] .) return false;if (s[i 1] || s[i 1] -){if (i 2 s.size()) return false;i ;}}else return false;}return true;}
};思路
整体思路
简单的模拟不断的特判即可周六调整数组顺序使奇数位于偶数前面
题目链接调整数组顺序使奇数位于偶数前面
输入一个整数数组实现一个函数来调整该数组中数字的顺序。使得所有的奇数位于数组的前半部分所有的偶数位于数组的后半部分。数据范围
数组长度 [0,100]
。
数组内元素取值范围 [0,100]
。样例
输入[1,2,3,4,5]输出: [1,3,5,2,4]AC代码
class Solution {
public:void reOrderArray(vectorint array) {int l 0, r array.size() - 1;while (l r){while (array[l] % 2 1) l ;while (array[r] % 2 0) r -- ;if (l r) swap(array[l], array[r]);}}
};思路
整体思路
快排之前面放奇数后面放偶数数组首尾两个指针不断向中间靠拢
如果是奇数放在开头如果是偶数放在末尾