1. 程式人生 > >臭皮匠上道兒了——句子反轉

臭皮匠上道兒了——句子反轉

月份 tps bst for desc system div imp param

今天早上開掛了,連續通過好多道題,要是6月份有這個水平就好了。

昨天晚上我們倆都簽賣身契了,要去天子腳下闖一闖。

貼一道紀念6月份剛來就參加優招筆試的那天出現的第二題:

題目描述

將一個英文語句以單詞為單位逆序排放。例如“I am a boy”,逆序排放後為“boy a am I”
所有單詞之間用一個空格隔開,語句中除了英文字母外,不再包含其他字符


接口說明

/**
* 反轉句子
*
* @param sentence 原句子
* @return 反轉後的句子
*/
public String reverse(String sentence);

輸入描述:

將一個英文語句以單詞為單位逆序排放。

輸出描述:

得到逆序的句子

示例1

輸入

I am a boy

輸出

boy a am I



import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println(reverse(scan.nextLine()));
}
public static String reverse(String sentence){
int n = sentence.length();
String[] strs = sentence.split(" ");
StringBuilder sb = new StringBuilder("");
for(int i = strs.length-1; i>=0 ;i--)
sb.append(strs[i]+" ");
return sb.toString().substring(0, n);
}
}

再貼一個好思路:

鏈接:https://www.nowcoder.com/questionTerminal/48b3cb4e3c694d9da5526e6255bb73c3
來源:牛客網

#include<iostream> #include<stack> #include<string> using namespace std; int main() { stack<string> ss; string s; while(cin>>s) { ss.push(s); } while(!ss.empty()) { cout<<ss.top(); ss.pop(); if(!ss.empty()) cout<<‘ ‘; } cout<<endl; }

臭皮匠上道兒了——句子反轉