首页 > 编程 > C++ > 正文

C/C++ 不使用库 实现Trim

2019-11-08 03:22:52
字体:
来源:转载
供稿:网友

这篇文章主要介绍了C++语言在不使用库的条件下,实现Trim函数。 面试过程中碰到问题,当时说了下思路,回来之后写代码验证了一下。

主要思想是加了一个指针,记录最后一个非空格的字符。时间复杂度为o(n)。

代码如下:

//获取字符串第一个非空格的字符char* GetFirstNotSpace(char* str){ if(str == NULL) return NULL; char* pCurrent = str; while(*pCurrent == ' ') { ++pCurrent; } return pCurrent;}char* Trim(char* str){ if(str == NULL) return NULL; char* pBegin = GetFirstNotSpace(str); char* pCurrent = pBegin; char* pLastNotSpace = pBegin; //最后一个非空格的字符 while(*pCurrent != '/0') { //遇到非空格的字符,更新pLastNotSpace if (*pCurrent != ' ') { pLastNotSpace = pCurrent; } ++pCurrent; } *(pLastNotSpace+1) = '/0'; return pBegin;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选