1、不利用java自带的函数
import java.util.ArrayDeque;
public class Solution {
public String ReverseSentence(String str) {
if(str.length()==0) return "";
String result;
StringBuffer s=new StringBuffer();
ArrayDeque<StringBuffer> stack=new ArrayDeque<StringBuffer>();
char[] c = str.toCharArray();
int head=0;
int tail=0;
for(int i=0;i<c.length;i++)
{
if(c[i]==' ' || i==c.length-1)
{
tail=i;
if(i==c.length-1)
tail=i+1;
StringBuffer s2=new StringBuffer();
for(int j=head;j<tail;j++)
s2.append(c[j]);
head=tail+1;
stack.push(s2);
}
}
while(!stack.isEmpty())
{
s.append(stack.pop());
s.append(' ');
}
s.delete(c.length,c.length+1);
result=new String(s.toString());
return result;
}
2、利用java自带的函数split等函数
public class Solution {
public String ReverseSentence(String str) {
if(str.length()==0) return "";
if(str.trim().equals("")){
return str;
}
String[] s = str.split(" ");
StringBuilder s2 = new StringBuilder();
for(int i=s.length-1;i>=0;i--)
{
s2.append(s[i]);
if(i!=0)
s2.append(" ");
}
String result=s2.toString();
return result;
}
}