LeetCode初級演算法--字串01:反轉字串
搜索微信公眾號:'AI-ming3526'或者'計算機視覺這件小事' 獲取更多演算法、機器學習干貨
csdn:https://blog.csdn.net/baidu_31657889/
csdn:https://blog.csdn.net/abcgkj/
github:https://github.com/aimi-cn/AILearners
一、引子
這是由LeetCode官方推出的的經典面試題目清單~
這個模塊對應的是探索的初級演算法~旨在幫助入門演算法,我們第一遍刷的是leetcode推薦的題目,
查看完整的劍指Offer演算法題決議請點擊github鏈接:
github地址
二、題目
撰寫一個函式,其作用是將輸入的字串反轉過來,輸入字串以字符陣列 char[] 的形式給出,
不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列、使用 O(1) 的額外空間解決這一問題,
你可以假設陣列中的所有字符都是 ASCII 碼表中的可列印字符,
示例 1:
輸入:["h","e","l","l","o"]
輸出:["o","l","l","e","h"]
示例 2:
輸入:["H","a","n","n","a","h"]
輸出:["h","a","n","n","a","H"]
1、思路
首先我們要注意是,不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列
python自帶的reverse方法可以直接進行翻轉,這是一種方法,
另一種方法,使用指標,我們可以看到翻轉之后首位元素進行的調換,我們讓頭指標指向第一個元素,尾指標指向第二個元素,這樣進行陣列元素調換,
2、編程實作
python
class Solution(object):
def reverseString(self, s):
"""
:type s: List[str]
:rtype: None Do not return anything, modify s in-place instead.
"""
#第一種使用reverse函式
#s.reverse()
#第二種使用指標
head = 0
tail = len(s)-1
while head < tail:
s[head],s[tail] = s[tail],s[head]
head += 1
tail -=1
AIMI-CN AI學習交流群【1015286623】 獲取更多AI資料
分享技術,樂享生活:我們的公眾號計算機視覺這件小事每周推送“AI”系列資訊類文章,歡迎您的關注!
本文由博客一文多發平臺 OpenWrite 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/69710.html
標籤:其他
上一篇:「天下隨拍」蘇州的那些湖
