LeetCode初級算法--字符串01:反轉(zhuǎn)字符串
搜索微信公眾號:'AI-ming3526'或者'計(jì)算機(jī)視覺這件小事' 獲取更多算法、機(jī)器學(xué)習(xí)干貨
csdn:https://blog.csdn.net/baidu_31657889/
csdn:https://blog.csdn.net/abcgkj/
github:https://github.com/aimi-cn/AILearners
一吐辙、引子
這是由LeetCode官方推出的的經(jīng)典面試題目清單~
這個模塊對應(yīng)的是探索的初級算法~旨在幫助入門算法宣决。我們第一遍刷的是leetcode推薦的題目。
查看完整的劍指Offer算法題解析請點(diǎn)擊github鏈接:
github地址
二昏苏、題目
編寫一個函數(shù)尊沸,其作用是將輸入的字符串反轉(zhuǎn)過來。輸入字符串以字符數(shù)組 char[] 的形式給出贤惯。
不要給另外的數(shù)組分配額外的空間洼专,你必須原地修改輸入數(shù)組、使用 O(1) 的額外空間解決這一問題孵构。
你可以假設(shè)數(shù)組中的所有字符都是 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、思路
首先我們要注意是颈墅,不要給另外的數(shù)組分配額外的空間蜡镶,你必須原地修改輸入數(shù)組
python自帶的reverse方法可以直接進(jìn)行翻轉(zhuǎn),這是一種方法恤筛。
另一種方法官还,使用指針,我們可以看到翻轉(zhuǎn)之后首位元素進(jìn)行的調(diào)換叹俏,我們讓頭指針指向第一個元素妻枕,尾指針指向第二個元素,這樣進(jìn)行數(shù)組元素調(diào)換粘驰。
2屡谐、編程實(shí)現(xiàn)
python
class Solution(object):
def reverseString(self, s):
"""
:type s: List[str]
:rtype: None Do not return anything, modify s in-place instead.
"""
#第一種使用reverse函數(shù)
#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學(xué)習(xí)交流群【1015286623】 獲取更多AI資料
分享技術(shù),樂享生活:我們的公眾號計(jì)算機(jī)視覺這件小事每周推送“AI”系列資訊類文章蝌数,歡迎您的關(guān)注愕掏!
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!