some move string manipulations
This commit is contained in:
parent
17c41a0c63
commit
c4fb68f809
@ -13,8 +13,26 @@ class Integer(int):
|
||||
|
||||
class String(str):
|
||||
def swap(self, x: int, y: int) -> String:
|
||||
x, y = min(x, y), max(x, y)
|
||||
return String(self[:x] + self[y] + self[x + 1 : y] + self[x] + self[y + 1 :])
|
||||
|
||||
def rotate(self, n: int) -> String:
|
||||
if n == 0:
|
||||
return self
|
||||
while n < 0:
|
||||
n += len(self)
|
||||
while n > len(self):
|
||||
n -= len(self)
|
||||
return String(self[-n:] + self[: len(self) - n])
|
||||
|
||||
def reverse(self, start: int = 0, end: int = None) -> String:
|
||||
if end is None:
|
||||
end = len(self) - 1
|
||||
return String(self[:start] + "".join(reversed(self[start : end + 1])) + self[end + 1 :])
|
||||
|
||||
def __getitem__(self, item) -> String:
|
||||
return String(super().__getitem__(item))
|
||||
|
||||
|
||||
class List(list):
|
||||
pass
|
||||
|
||||
Loading…
Reference in New Issue
Block a user