some move string manipulations
This commit is contained in:
parent
17c41a0c63
commit
c4fb68f809
@ -13,8 +13,26 @@ class Integer(int):
|
|||||||
|
|
||||||
class String(str):
|
class String(str):
|
||||||
def swap(self, x: int, y: int) -> String:
|
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 :])
|
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):
|
class List(list):
|
||||||
pass
|
pass
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user