给定字符串str ,任务是编写C 程序以从给定字符串删除前导空格。
例子 :
Input: str = ” geeksforgeeks”
Output: geeksforgeeks
Input: str = “gfg”
Output: gfg
方法:这个想法是计算给定字符串的前导空格,然后从该计数索引中将字符从该索引复制到字符串的前面。以下是步骤:
- 初始化 count = 0 以计算前导空格的数量。
- 遍历给定的字符串并找到前导空格字符结束的索引(比如idx )。
- 遍历该索引idx 中的所有字符,并将该索引中的每个字符复制到前面索引的末尾。
- 最后,将 ‘\0’ 放在新字符串的最后一个索引处以终止字符串。
下面是上述方法的实现:
C
// C program for the above approach
#include
// Function to remove leading
// spaces from a given string
char* removeLeadingSpaces(char* str)
{
static char str1[99];
int count = 0, j, k;
// Iterate String until last
// leading space character
while (str[count] == ' ') {
count++;
}
// Putting string into another
// string variable after
// removing leading white spaces
for (j = count, k = 0;
str[j] != '\0'; j++, k++) {
str1[k] = str[j];
}
str1[k] = '\0';
return str1;
}
// Driver Code
int main()
{
// Given string
char str[] = " geeksforgeeks";
char* ptr;
// Function call
ptr = removeLeadingSpaces(str);
// Print string without leading space
printf("%s", ptr);
return 0;
}
输出:
geeksforgeeks
时间复杂度: O(N)
辅助空间: O(N)
想要从精选的视频和练习题中学习,请查看C 基础到高级C 基础课程。