16、2005年11月金山笔试题。编码完成下面的处理函数。函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量。如原始串为:
2014-02-12 16:34
676 查看
16、2005年11月金山笔试题。编码完成下面的处理函数。函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量。如原始串为:ab**cd**e*12,处理后为*****abcde12,函数并返回值为5。(要求使用尽量少的时间和辅助空间)
答案来自互联网,具体出处忘了
最高效算法:
int change1(char *str)
{
int i,j=strlen(str)-1;
for(i=j; j>=0; j--)
{
if(str[i]!='*')
{ i--; }
else if(str[j]!='*')//将非‘*’字符换到后面
{
str[i] = str[j];
str[j] = '*';
i--;
}
}
return i+1;
}
答案来自互联网,具体出处忘了
最高效算法:
int change1(char *str)
{
int i,j=strlen(str)-1;
for(i=j; j>=0; j--)
{
if(str[i]!='*')
{ i--; }
else if(str[j]!='*')//将非‘*’字符换到后面
{
str[i] = str[j];
str[j] = '*';
i--;
}
}
return i+1;
}
相关文章推荐
- 将字符串中的字符'*'移到串的前部分,前面的非'*'字 符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量
- 函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移,但不能改变非'*'字符的先后顺序
- 88.2005 年 11 月金山笔试题。编码完成下面的处理函数。
- 为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数
- 笔试题-输入一个字符数组将这些字符串按顺序合并输出-指针数组-数组指针-函数指针-指针函数
- 16字符和字符串常用处理函数
- 金山笔试题-字符串排序 :" 写一个函数,实现对给定的字符串(字符串里面包括:英文字母,数字,符号)的处理"
- 【c语言】为下面的函数原型编写函数定义,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 给一个字符串将其中的'*'字符提到该字符串的前面,而且其他字符的相对顺序不会改变。
- 递归处理字符串中字符出现次数并按出现顺序返回
- 将字符串中的字符'*'移到串的前部分,保证非*字符的顺序位置不能变
- 【C语言】为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 计算机笔试题:写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整型的函数)
- 将字符串中的‘*’移动到字符串最前面且不改变原来非‘*’字符的顺序
- 快慢指针____函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移
- 函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移(快慢指针)
- 计算机笔试题:写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整型的函数)
- UNICODE下和多字节字符编码的字符串处理函数对照
- 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bccced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中
- C++调用 python 函数及返回值的处理【元组,字符串...】