[leetcode]Python+Javascript实现-344.反转字符串

344.反转字符串

描述

请编写一个函数,其功能是将输入的字符串反转过来。

示例

输入:s = “hello”
返回:“olleh”

Python

class Solution:
    def reverseString(self, s):
        """
        :type s: str
        :rtype: str
        """
        l = list(s)[::-1]
        res = ''.join(l)
        return res

这题用到之前总结的字符串与列表的互相转换。

字符串与列表相互转换

字符串转列表:
方法1-split()

>>> s = 'a b c d'
>>> s.split(' ')
['a', 'b', 'c', 'd']

方法2-list()

>>> s = 'abcd'
>>> list(s)
['a', 'b', 'c', 'd']

方法3-eval()函数(该方法也可用于转换dict、tuple等)

>>> s
'[1,2,3]'
>>> eval(s)
[1, 2, 3]
>>> type(eval(s))
<class 'list'>

列表转字符串:
string = ‘’.join(l) 前提是list的每个元素都为字符

别人的

    return s[::-1]

Javascript

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
    const str = x.toString();
    let l = str.length;
    let flag = 0;
    let chart = ''
    let result = '';
    if (str[0] === '-'){
        flag = 1;
        chart += '-';
    };
    let i = l-1;
    let n = 0;
    while(i>=flag){
        if(str[i] === '0'){
            n += 1;
            i -= 1;
        }
        else break;
    }
    for(let j=l-n-1;j>=flag;j--){
        result += str[j];
    };
    result = Number(chart+result);
    if (Math.pow(-2,31) <= result && result <= Math.pow(2,31)-1){
        return result;
    };
    return 0;   
};

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值