4-9 Python字符串常考算法题

字符串题

了解常用的字符串操作
1.Python内置了很多字符串操作,比如 splitupperreplace
2.常考题:反转一个字符串
3.常考题:判断一个数字是否是回文数

# leetcode 第344号题目:反转字符串
class Solution:
	def reverseString(self, s: List[str]) -> None:
		# 方法一:
		s.reverse()
		
		# 方法二:
		beg = 0
		end = len(s) - 1
		whiel beg < end:
			s[beg], s[end] = s[end], s[beg]
			beg += 1
			end -= 1

字符串的双端遍历方法可以解决很多类似问题

# leetcode 第9号题目:判断回文数
class Solution:
	def isPalindrome(self, x):
		if x < 0: return False
		s = str(x)
		beg, end = 0, len(s) - 1
		while beg < end:
			if s[beg] == s[end]:
				beg += 1
				end -= 1
			else:
				return False
		return True

算法与数据结构练习题:反转链表

反转链表

链表在面试中是一个高频考点(leetcode reverse-linked-list)
1.如何反转一个单链表?
2.你能使用循环的方式实现吗?
3.能否用递归的方式实现?

上一篇:STL常用拷贝和替换算法


下一篇:C++ STL常用算法