Leetcode 151 - Reverse words in String - The C Language O(1) space
来源:互联网 发布:linux 查看java path 编辑:程序博客网 时间:2024/05/16 05:17
1. Trim whit-space
2. Reverse the whole string
3. Reverse every words
{
void trim(char* sb)
{
char *pTmp = sb;
int headspace = sb[0] == ' ';
while (*sb != '\0')
{
if (*sb != ' ')
{
if (*(sb-1) == ' ' && !headspace)
{
*pTmp++ = ' ';
}
*pTmp++ = *sb;
headspace = 0;
}
++sb;
}
*pTmp = '\0';
}
void swapChar(char* s, int left, int right)
{
while (left < right)
{
char ch = s[left];
s[left] = s[right];
s[right] = ch;
left++;
right--;
}
}
void reverseWords(char *s)
{
int end = 0;
int start = 0;
int len;
trim(s);
len = strlen(s);
swapChar(s,0,len - 1);
for (;end < len; end++)
{
if (s[end] == ' ')
{
swapChar(s,start,end-1);
start = end + 1;
}
}
swapChar(s,start,len-1);
}
}
2. Reverse the whole string
3. Reverse every words
{
void trim(char* sb)
{
char *pTmp = sb;
int headspace = sb[0] == ' ';
while (*sb != '\0')
{
if (*sb != ' ')
{
if (*(sb-1) == ' ' && !headspace)
{
*pTmp++ = ' ';
}
*pTmp++ = *sb;
headspace = 0;
}
++sb;
}
*pTmp = '\0';
}
void swapChar(char* s, int left, int right)
{
while (left < right)
{
char ch = s[left];
s[left] = s[right];
s[right] = ch;
left++;
right--;
}
}
void reverseWords(char *s)
{
int end = 0;
int start = 0;
int len;
trim(s);
len = strlen(s);
swapChar(s,0,len - 1);
for (;end < len; end++)
{
if (s[end] == ' ')
{
swapChar(s,start,end-1);
start = end + 1;
}
}
swapChar(s,start,len-1);
}
}
0 0
- Leetcode 151 - Reverse words in String - The C Language O(1) space
- leetcode 151 Reverse Words in a String C语言版
- LeetCode(151)Reverse Words in a String
- leetcode 151 Reverse Words in a String
- LeetCode: Reverse Words in a String [151]
- [leetcode 151] Reverse Words in a String
- leetcode-151 Reverse Words in a String
- [LeetCode 151]Reverse Words in a String
- Leetcode 151:Reverse Words in a String
- Reverse Words in a String - LeetCode 151
- leetcode[151]:Reverse Words in a String
- LeetCode---(151)Reverse Words in a String
- Leetcode 151 Reverse Words in a String
- LeetCode(151) Reverse Words in a String
- leetcode 151: Reverse Words in a String
- LeetCode 151 Reverse Words in a String
- 【LeetCode-151】Reverse Words in a String
- [LeetCode 151] Reverse Words in a String
- 封装
- QT打包
- Android网络请求--服务器端从环境搭建到发布过程
- git解决rebase冲突
- 覆盖了一层view 下面一层点击效果还是有效的
- Leetcode 151 - Reverse words in String - The C Language O(1) space
- LeetCode 226: Invert Binary Tree
- python处理Unicode规则
- 【Android】HttpUrlConnection AsyncTack
- c++中的string常用函数用法总结
- 关于TableViewCell的高度根据text来计算
- .NET基础--继承
- leetcode笔记:Linked List Cycle 2
- ios 调用系统相册、相机 显示中文标题