最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Leetcode344--翻转字符串

来源:动视网 责编:小采 时间:2020-11-27 21:50:24
文档

Leetcode344--翻转字符串

Leetcode344--翻转字符串: 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 Leetcode344:翻转字符串 编程语言:python 文章目录Leetcode344--翻转字符串题目描述解题思路 Leetcode344–翻转字符串 Leetcode34
推荐度:
导读Leetcode344--翻转字符串: 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 Leetcode344:翻转字符串 编程语言:python 文章目录Leetcode344--翻转字符串题目描述解题思路 Leetcode344–翻转字符串 Leetcode34


示例2:

输入:[“H”,“a”,“n”,“n”,“a”,“h”]
输出:[“h”,“a”,“n”,“n”,“a”,“H”]

解题思路

方法1:
使用双指针方法,从首尾往中间靠拢,相遇时交换完成

def reverseString(self, s: List[str]) -> None:
	"""
	Do not return anything, modify s in-place instead.
	"""
	length = len(s)
	half = len(s) // 2
	
	# 建立一个tmp临时变量,用于缓存数组着中的元素
	for i in range(half):
	 tmp = s[i]
	 s[i] = s[length-i-1]
	 s[length-i-1] = tmp 

python可以同时给多个变量赋值,上述代码可以改写为:

def reverseString(self, s):
	"""
	:type s: List[str]
	:rtype: void Do not return anything, modify s in-place instead.
	"""
	length = len(s)
	half = l//2
	for i in range(half):
	 s[i], s[length-i-1] = s[length-i-1], s[i]

方法2:
使用python内置函数

def reverseString(self, s):
	"""
	:type s: List[str]
	:rtype: void Do not return anything, modify s in-place instead.
	"""
	s.reverse()

方法3:
使用pop方法,每次循环删除第一元素,然后插入到指定的位置
每次删除原字符串改变一位,最新的需要翻转的字符变为第一个字符,循环n?1n-1n?1次后完成翻转。

def reverseString(self, s):
	"""
	:type s: List[str]
	:rtype: void Do not return anything, modify s in-place instead.
	"""
	n = len(s)
	for i in range(n-1):
	 t = s.pop(0)
	 s.insert(n-i-1, t)

文档

Leetcode344--翻转字符串

Leetcode344--翻转字符串: 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 Leetcode344:翻转字符串 编程语言:python 文章目录Leetcode344--翻转字符串题目描述解题思路 Leetcode344–翻转字符串 Leetcode34
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top