Easy-4
来源:互联网 发布:紫萱和徐长卿知乎 编辑:程序博客网 时间:2024/06/10 06:13
leetcode 557. Reverse Words in a String III
Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.
Example 1:
Input: "Let's take LeetCode contest"Output: "s'teL ekat edoCteeL tsetnoc"
Note: In the string, each word is separated by single space and there will not be any extra space in the string.
AC:
char* reverseWords(char* s) {
int start = 0; int end = 0;
while (s[end] != '\0')
{
if (s[end] != ' ')
{
end++;
}
else
{
//逆序[start,end-1],start=end=end+1
int mid = (start + end - 1) / 2;
for (int i = start; i <=mid; i++)
{
char buf = s[i];
s[i] = s[end - 1 - i + start];
s[end - 1 - i + start] = buf;
}
end = end + 1;
start = end;
}
}
//对于最后一个字段
int mid = (start + end - 1) / 2;
for (int i = start; i <= mid; i++)
{
char buf = s[i];
s[i] = s[end - 1 - i + start];
s[end - 1 - i + start] = buf;
int start = 0; int end = 0;
while (s[end] != '\0')
{
if (s[end] != ' ')
{
end++;
}
else
{
//逆序[start,end-1],start=end=end+1
int mid = (start + end - 1) / 2;
for (int i = start; i <=mid; i++)
{
char buf = s[i];
s[i] = s[end - 1 - i + start];
s[end - 1 - i + start] = buf;
}
end = end + 1;
start = end;
}
}
//对于最后一个字段
int mid = (start + end - 1) / 2;
for (int i = start; i <= mid; i++)
{
char buf = s[i];
s[i] = s[end - 1 - i + start];
s[end - 1 - i + start] = buf;
}
return s;
}
return s;
}
tip:
在循环的else中,是先给end加1操作的,故下一句start=end即可。
0 0
- Easy-4
- Leetcode--easy系列4
- easy
- Easy
- easy ui 1.2.4的中文API
- 初次体验完美easy ui 1.4.4
- Facebook Phone Interview: 3, 4 Sum (Easy)
- Easy-题目4:226. Invert Binary Tree
- Easy 4 Roman to Integer(13)
- LeetCode-Easy刷题(4) Longest Common Prefix
- Hibernate + JPA + Spring MVC integrated Web Application - 4 easy steps
- 【EASY ANDROID】第4节:常用的基本控件 发布
- 用java解leetcode上easy题4
- NHK Easy News 翻译 12月22日-4
- NHK Easy News 翻译 12月23日-4
- Easy Plugs
- easy problem
- So Easy!
- 磁盘IOPS计算与测量。
- ZXingObjc 使用初探究
- OSGI企业应用开发(八)整合Spring和Mybatis框架(一)
- 虚基类的初始化
- Unable to execute dex: Multiple dex files define 解决方法
- Easy-4
- hibernate的@Transient注解
- Android Studio中Gradle's dependency cache may be corrupt解决记录
- 一人千面:谈谈Go语言中的type
- IDEA 服务器搭建 IDEA授权服务器
- Java数据类型-Queue
- 第四题:根据前序和中序遍历结果重建二叉树(Arrays常用方法)
- J2EE进阶之javascript 三
- microsoft word中在公式后插入可交叉引用的公式编号