Programmer's Programming Art: Interview and algorithmic experience http://taop.marchtea.com/
Https://github.com/julycoding/The-Art-Of-Programming-By-July/tree/master/ebook/code/python
1.1 Rotating A string
1: def simpleshift (str, n):
2: tmpstr = str[n:] + str[:n]
3: return tmpstr
4:
5: def leftshiftone (str):
6: char = str[0]
7:
8: "
9: for in range (1, len (str)):
Ten: tmpstr + = Str[i]
One : Char
:
: return tmpstr
:
: def leftrotatestring (str, n):
: for in Range (n):
+ : str = leftshiftone (str)
: return str
:
: def reversestring (str):
: l = len (str)
: for in Range (L/2):
: char = str[i]
# : # reversed + right + to is reversed + left + reversed
+ : char + str[l-i:]
+ : return str
:
: def reversewords (str):
£ º words = Str.split ()
: l = len (words)
+ : for in Range (L/2):
: word = words[i]
: words[i] = words[l-i-1]
: words[l-i-1] = Word
:
" : "
Panax Notoginseng :for in words:
" : "
A : return str
Max :
A : def main ():
: ' ABCDEFG '
NET : n = 3
:
: ' 1. Simple Shift '
NET : str = simpleshift (s, N)
A : Print str
:
A : ' 2. Left rotate string '
: str = leftrotatestring (s, N)
Wuyi: Print str
:
In : ' 3. Reverse string '
Si : str = reversestring (S[:n])
: str = str + reversestring (s[n:])
$: str = reversestring (str)
£ º print str
:
A : ' 4. Reverse words '
: ' I am a student. '
A : str = reversewords (s)
+ : Print str
:
: if' __main__ ':
: Main ()