leetcode344 翻转字符串
简单题 不过使用双指针法提升双指针熟练度
class Solution:
def reverseString(self, s: List[str]) -> None:
left, right = 0, len(s)-1
while left < right:
s[left],s[right] = s[right],s[left]
left += 1
right -= 1
leetcode 541 反转代码||
本题在反转时遇到的问题是reverse函数的错误使用,因为s[i : i + k] 只是取出了 s 的一个切片,但 .reverse() 只会作用于这个新切片,而不会修改原始 s 列表。因此,字符串的翻转并不会真正生效。因此需要用 reversed() 或 [::-1] 重新赋值,这样才能修改 s 列表本身。
class Solution:
def reverseStr(self, s: str, k: int) -> str:
s = list(s)
for i in range(0, len(s), 2 * k):
s[i : i + k] = s[i : i + k][::-1]
return ''.join(s)
卡码网 54 替换数字
本题在判断数字时调用的库函数isidigit(),对于acm输入输出还不够熟练
import sys
def replace_digit(s: str) -> str:
return ''.join('number'if i.isdigit() else i for i in s)
def main():
for line in sys.stdin:
s = line.strip()
print(replace_digit(s))
if __name__ == "__main__":
main()
667

被折叠的 条评论
为什么被折叠?



