题目:翻转字符串
来源:互联网 发布:大数据工程师压力大吗 编辑:程序博客网 时间:2024/05/20 18:54
给定一个字符串,逐个翻转字符串中的每个单词。
您在真实的面试中是否遇到过这个题?Yes
样例
给出s = "the sky is blue",返回"blue is sky the"
说明
标签 Expand- 单词的构成:无空格字母构成一个单词
- 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括
- 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个
相关题目 Expand
思想:先将整个字符串以空格划分保存在arr,再遍历arr将非空格的word逆序放到arrword数组中,再遍历arrword。
public class Solution {
/**
* @param s : A string
* @return : A string
*/
public String reverseWords(String s) {
// write your code
if (null == s || 0 == s.length())
return s;
String[] arrs = s.split(" ");
StringBuffer result = new StringBuffer();
String[] arrWord = new String[arrs.length];
int k = arrWord.length - 1;
for (int i = 0; i < arrs.length; i++) {
if (arrs[i] != " ") {
arrWord[k--] = arrs[i];
}
}
for (int i = 0; i < arrWord.length; i++) {
if (i == arrWord.length - 1) {
result.append(arrWord[i]);
} else if (arrWord[i] != null || arrWord[i].length() != 0) {
result.append(arrWord[i] + " ");
}
}
return result.toString();
}
}
/**
* @param s : A string
* @return : A string
*/
public String reverseWords(String s) {
// write your code
if (null == s || 0 == s.length())
return s;
String[] arrs = s.split(" ");
StringBuffer result = new StringBuffer();
String[] arrWord = new String[arrs.length];
int k = arrWord.length - 1;
for (int i = 0; i < arrs.length; i++) {
if (arrs[i] != " ") {
arrWord[k--] = arrs[i];
}
}
for (int i = 0; i < arrWord.length; i++) {
if (i == arrWord.length - 1) {
result.append(arrWord[i]);
} else if (arrWord[i] != null || arrWord[i].length() != 0) {
result.append(arrWord[i] + " ");
}
}
return result.toString();
}
}
0 0
- 题目:翻转字符串
- 笔试题目“翻转字符串”的实现
- 面试经典题目:字符串翻转I am a student
- String相关题目(左移字符串、翻转单词序列)
- 算法题目---翻转单词顺序 VS 左旋转字符串
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 字符串翻转
- 翻转字符串
- 题目:翻转二叉树
- MySQL中的replace into
- 10G个整数找中位数
- 黑马程序员---学习笔记4:数组
- HDU 3336 Count the string(KMP+Next数组递推)
- 题目:翻转字符串
- scala学习第三章数组相关操作
- typedef 定义函数指针(匿名函数)
- MFC获取输入框的值
- PAT-PAT (Advanced Level) Practise 1006. Sign In and Sign Out (25) (简单题)【一星级】
- ZOJ 1610 Count the Colors(数组模拟)
- 最小生成树算法--Kruskal
- 题目:翻转链表
- bzoj 2818 Gcd(莫比乌斯+gcd(a,b)=d) 经典