字符串反转Reverse String

题目https://leetcode.com/problems/reverse-string/

Write a function that takes a string as input and returns the string reversed.

Example 1:

Input: “hello”

Output: “olleh”

Example 2:

Input: “A man, a plan, a canal: Panama”

Output: “amanaP :lanac a ,nalp a ,nam A”

C++:
// 题目https://leetcode.com/problems/reverse-string/

#include<iostream>
using namespace std;

class Solution {
public:
    string reverseString(string s) {
        string new_s="";
        for(int i=s.size()-1; i>=0; i--)
        	new_s += s[i];
        return new_s;     
    }
};

int main(){
	Solution S;
	S.reverseString("abcdef");
	return 0;
}
python:

最简洁的写法

class Solution:
    def reverseString(self, s):
        """
        :type s: str
        :rtype: str
        """
        return s[::-1]

其他写法:

class Solution:
    def reverseString(self, s):
        """
        :type s: str
        :rtype: str
        """
        i = len(s)-1
        new_s = ""
        while i>=0:
            new_s += s[i]
            i=i-1
        return new_s

S = Solution()
print(S.reverseString("hello"))

顺便复习下python中双冒号的用法:
a = '123456789'
print("a[2:6] ",a[2:6])
print("a[2:6:3] ",a[2:6:3])
print("a[2:] ",a[2:])
print("a[:] ",a[:])
print("a[::1] ",a[::1])
print("a[::3] ",a[::3])
print("a[::-1] ",a[::-1])
print("a[::-3] ",a[::-3])

输出:

a[2:6]  3456
a[2:6:3]  36
a[2:]  3456789
a[:]  123456789
a[::1]  123456789
a[::3]  147
a[::-1]  987654321
a[::-3]  963

记住,负号就是表示方向,第三个冒号是用来表示间隔,表示每几步。
简单解释s[i:j:k]就是,“片每k个从i到j”。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值