题解 | #翻转单词序列#

翻转单词序列

http://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

1. python 解法(归功于python强大的切片功能以及弱类型引用,写出的代码真的很简洁)
# -*- coding:utf-8 -*-
class Solution:
    def ReverseSentence(self, s):
        # write code here
        ls = [ss for ss in s.split(' ')]
        return ' '.join(ls[::-1])

2. java解法(取了个巧,用到了Collection类的序列翻转函数,此处就体现了java强大的api生态,啥都有)
import java.util.*;
public class Solution {
    public String ReverseSentence(String str) {
        String[] ss = str.split(" ");
        List<String> strsToList1= Arrays.asList(ss);
        Collections.reverse(strsToList1);
        String ss1 = String.join(" ", strsToList1);
        return ss1;
    }
}

3.go解法(既没有java的api生态支持,同时切片功能也是个半吊子……真的拉垮。刷题过程也可以看出,由于go通过首字母大小写区分公有和私有方法,所以很多python java 的方法,go这边的都要注意首字母大写)
package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param str string字符串 
 * @return string字符串
*/
import "strings"
func ReverseSentence( str string ) string {
    // write code here
    ss := strings.Split(str, " ")
    for i:=0;i<len(ss)/2;i++{
        tmp := ss[len(ss)-1-i]
        ss[len(ss)-1-i] = ss[i]
        ss[i] = tmp
    }
    return strings.Join(ss, " ")
}



全部评论

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务