zoukankan      html  css  js  c++  java
  • 【剑指Offer】44翻转单词顺序列

    题目描述

    牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

    时间限制:1秒;空间限制:32768K;本题知识点:字符串

    解题思路

    思路一

    将字符串(str)型的数据s通过空格' '切片,得到列表(list)型数据l,对l进行反向,最后通过空格' '重新连接成字符串型数据并输出。

    # -*- coding:utf-8 -*-
    class Solution:
        def ReverseSentence(self, s):
            # write code here
            l = s.split(' ')   #切片
            l.reverse()        #反向
            return ' '.join(l) #连接

    思路二

    对输入的字符串一次遍历输出结果:从后向前遍历字符串,将连续的非空格字符记录在str1中,遇到空格后将str1反向并保存到一个输出的结果字符串result中,将str1清空并继续循环直到遍历结束,然后最后一次将str1中的字符串反向并保存到result中,输出结果。

    # -*- coding:utf-8 -*-
    class Solution:
        def ReverseSentence(self, s):
            # write code here
            result = ''
            str1 = ''
            for i in range(len(s)-1,-1,-1):
                if s[i] == ' ':
                    result += str1[::-1] #单词反转加到结果
                    result += ' '        #加空格
                    str1 = ''            #str1清空
                else:
                    str1 += s[i]
            result += str1[::-1]   #如果最开始是单词,加到结果
            return result
  • 相关阅读:
    MVC ORM 架构
    Kubernetes 第八章 Pod 控制器
    Kubernetes 第七章 Configure Liveness and Readiness Probes
    Kubernetes 第六章 pod 资源对象
    Kubernetes 第五章 YAML
    Kubernetes 核心组件
    Kubernetes 架构原理
    Kubernetes 第四章 kubectl
    Kubernetes 第三章 kubeadm
    yum 配置及yum 源配置
  • 原文地址:https://www.cnblogs.com/yucen/p/9912018.html
Copyright © 2011-2022 走看看