第五章 字串專題 ---------------- 5.8 題解:將字串中按單詞翻轉
題目:
翻轉單詞。將字串按單詞翻轉,如here you are 翻轉成are you here
一、利用strtok(字元陣列分割函式),和reverse函式:
1、C++程式碼:
#include<iostream>
#include<algorithm>
#include <cstring>
using namespace std;
string wordReverse(string src)
{
string ans;
//temp:用於臨時存放分割後的結果
//tempStr:為使用reverse函式,將char指標引導的字元陣列,轉化為字串
char* temp;
string tempStr;
//為使用strtok函式,建立src對應的字元陣列
char srcC[src.length()];
//翻轉src字串後,存入字元陣列srcC
reverse(src.begin(),src.end());
strcpy(srcC,src.data());
//分割依據
const char* basis=" ";
//初次分割
temp=strtok(srcC,basis);
while(temp)
{
//進行逐個翻轉
tempStr=temp;
reverse(tempStr.begin(),tempStr.end());
//賦值給最後的結果
ans=ans+tempStr+" ";
temp=strtok(NULL,basis);
}
return ans;
}
int main()
{
string str="here you are";
cout<<wordReverse(str);
return 0;
}
2、結果:
二、JAVA程式碼:
public class WordReverse {
public static void main(String[] args) {
System.out.println(reverse("where you are"));
}
// 首先將整個字串按照字元翻轉,再找到每個單詞,將單詞翻轉
static String reverse(String src){
String s1 = reverseString(src);
// 切割單詞
String[]words = s1.split("\\s");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < words.length; i++) {
sb.append(reverseString(words[i])+ " ");
}
return sb.deleteCharAt(sb.length()-1).toString();
}
public static String reverseString(String iniString){
// StringBuilder sBuilder = new StringBuilder(iniString) // 和StringBuffer效果差不多。
StringBuffer sBuffer = new StringBuffer(iniString);
return sBuffer.reverse().toString();
}
}
參考:https://www.cnblogs.com/xiaoyh/p/10304381.html
相關文章
- 第五章 字串專題 ---------------- 5.2 題解:巧妙翻轉字串字串
- 第五章 字串專題 ---------------- 5.7 題解:旋轉詞字串
- 第五章 字串專題 ---------------- 5.5 題解:壓縮字串字串
- 第五章 字串專題 ---------------- 5.1 題解:判斷字串有無重複字元字串字元
- 第五章 字串專題 ---------------- 5.9 題解:去掉字串中連線出現的k次的0字串
- 第五章 字串專題 ---------------- 5.4 實踐:替換字串中的空格字串
- 第五章 字串專題 ---------------- 5.3 走出思維誤區:變形詞問題字串
- 第五章 字串專題 ---------------- 5.6 解題:判斷兩字串的字符集是否相同字串
- 第五章 字串專題 ---------------- 5.11 題解:最短摘要的生成字串
- 【LeetCode字串#03】圖解翻轉字串中的單詞,以及對於for使用的說明LeetCode字串圖解
- 第五章 字串專題 ---------------- 5.12 字串匹配之PabinKarp字串匹配
- 第五章 字串專題 ---------------- 字串匹配(二)----KMP演算法字串匹配KMP演算法
- 第五章 字串專題 ---------------- 5.10 題解:神奇的迴文串字串
- 151.翻轉字串裡的單詞 卡碼網:55.右旋轉字串字串
- LeetCode每日一題:反轉字串中的單詞 III(No.557)LeetCode每日一題字串
- 字串專題字串
- 專題:字串字串
- 第五章 字串專題 ---------------- 字串匹配(三)----字尾陣列演算法字串匹配陣列演算法
- LeetCode-151-翻轉字串裡的單詞LeetCode字串
- 程式碼隨想錄第9天|●151.翻轉字串裡的單詞(有題目未解決)字串
- 微軟面試題: LeetCode 151. 翻轉字串裡的單詞 出現次數:6微軟面試題LeetCode字串
- 力扣之反轉字串中的單詞 III力扣字串
- C#按字串中的數字排序問題C#字串排序
- 【專題訓練】字串字串
- (字串)句子翻轉字串
- SQL Server 中將字串按數字排序SQLServer字串排序
- js如何實現將字串中的字元順序翻轉JS字串字元
- 2021-01-04 | 151. 翻轉字串裡的單詞字串
- 「翻轉字串」python之leetcode刷題|004字串PythonLeetCode
- 11-09字串中的單詞數字串
- 談談字串翻轉字串
- 洛谷題單指南-字串-Test字串
- 前端中的簡單程式設計題-字串(1)前端程式設計字串
- python如何翻轉字串?Python字串
- T-SQL——將字串轉為單列SQL字串
- 字串轉數字的問題字串
- LeetCode-434-字串中的單詞數LeetCode字串
- 字串問題字串