这里尽可能的不去用语言本身提供的函数。

将string逆置

def reverse(string):
#return string[::-1]
reversedStr = ''
for i in xrange(len(string) - 1, -1, -1):
reversedStr += string[i]
return reversedStr

单词的翻转

def reverseWords(string):
if len( string ) <= 1: return
split = ' '
reversedStr = ''
word = ''
# reverse every word in string
for c in string:
if c == split:
word = reverse(word) + split
reversedStr += word
word = ''
else:
word += c
# the last word
reversedStr += reverse(word)
# reverse the whole string
reversedStr = reverse(reversedStr)
return reversedStr

这里没有考虑前导空格之类的复杂情况,默认string是很规整的,单词间由一个空格隔开。

字符串的左右旋转。右旋转我们将字符串后面的n个字符移到最前面。通过參数direction来差别,实參为‘l',’L‘, ’r‘, ’R'.

'''
@ if direction = 'l' or 'L', move n items from front to end
@ if direction = 'r' or 'R', move n items from back to front
'''
def RotateString(string, n, direction):
if n >= len(string) or n <= 0:
return string
reversedStr = ''
leftpart = ''
rightpart = '' # move last n chiracter to front
if direction == 'r' or direction == 'R':
n = len(string) - n for i in range(n):
leftpart += string[i] for i in range(n, len(string)):
rightpart += string[i] reversedStr += reverse(leftpart)
reversedStr += reverse(rightpart)
reversedStr = reverse(reversedStr)
return reversedStr

若认为单词翻转的实现繁琐。也能够直接用语言本身提供的函数。可是不推荐。

def reverseWords(string):
return ' '.join(string.split()[::-1])

最新文章

  1. SQL2008完全卸载详解(图解)
  2. Android应用开发SharedPreferences存储数据的使用方法
  3. Linux分析日志获取最多访问的前10个IP
  4. .net开发笔记(十八) winform中的等待框
  5. gulp插件gulp-usemin简单使用
  6. wpf 任务栏闪烁
  7. 伪多项式时间算法Pseudo-polynomial Algorithms-----geeksforGeek 翻译
  8. TestPointer
  9. HTML--3css样式表
  10. SRM 514 DIV1 500pt(DP)
  11. DatabaseMetaData的用法【转载】
  12. jar包版本冲突,并且要保留两个版本都能使用
  13. PHP中include和require的区别
  14. POJ 1955 Rubik&#39;s Cube
  15. ASUS T100TA 换屏要记
  16. 演进之美,越来越美:三分钟看尽 iOS 1 ~ iOS 8 的进化史
  17. Web前端学习第二天(cookie 一)
  18. 处理html内容,获取纯文本
  19. 懒得说IE6了,写个js插件不能写注释,原因如下
  20. /etc/profile不生效问题

热门文章

  1. 分享下自己的EmpireofCode进攻策略 https://empireofcode.com/ https://empireofcode.com/game/#
  2. python基础——3(流程控制)
  3. 大数据学习——实现多agent的串联,收集数据到HDFS中
  4. 实现List集合中数据逆序排列
  5. struts2接受请求参数
  6. python003 Python3 基本数据类型
  7. CentOS 中 YUM 安装桌面环境
  8. squid重定向(python 代码)
  9. BZOJ 3039: 玉蟾宫【dp】
  10. SPOJ VJudge QTREE - Query on a tree