python字符串

LeetCode 字符串-翻转字符串

筅森魡賤 提交于 2019-12-08 06:31:26
反转字符串 编写一个函数,其作用是将输入的字符串反转过来。 示例 1: 输入: "hello" 输出: "olleh" 示例 2: 输入: "A man, a plan, a canal: Panama" 输出: "amanaP :lanac a ,nalp a ,nam A" Python: 用系统函数reverse def reverseString(self, s): """ :type s: str :rtype: str """ reverseList = list([char_str for char_str in s]) reverseList.reverse() return "".join(reverseList) 或者 def reverseString(self, s): """ :type s: str :rtype: str """ return s[::-1] 来源: CSDN 作者: EasierSaidThanDone 链接: https://blog.csdn.net/HarderFortunate/article/details/82960702

Leetcode-字符串转换整数(atoi)

北慕城南 提交于 2019-12-08 06:28:09
Leetcode-字符串转换整数(atoi) 表示题目要求需要理解一下,好懵- - 大概意思是:输入一个字符串,让你找出其中的第一个连续的数字。如果字符串为空、找到的第一个非空格字符为字母就返回0,且找到的数字不能大于2 32 -1、小于-2 32 方法 感觉这个题算法的成分好少,基本上是if-else加上python字符串的一些方法。用到的方法如下: 1.strip():移除左右两边的空白字符 2.isdigit():判断字符串是否为数字 class Solution: def myAtoi(self, str): """ :type str: str :rtype: int """ res_str = '' new_str = str.strip() #strip()函数:移除左右两边的空白字符 if new_str == "": #判断新生成的字符串是否为空 return 0 if new_str[0] == '-' or new_str[0] == '+' : #如果第一个字符为‘-’或‘+’ res_str += new_str[0] for i in range(1,len(new_str)): if new_str[i].isdigit(): #isdigit()函数判断字符串是否为数字 res_str += new_str[i] else: break if len

LeetCode题解(python)-43. 字符串相乘

孤者浪人 提交于 2019-12-08 06:27:07
LeetCode题解(python) 43. 字符串相乘 题目描述 给定两个以字符串形式表示的非负整数 num1 和 num2 ,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输入: num1 = "123", num2 = "456" 输出: "56088" 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9 。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能使用任何标准库的大数类型(比如 BigInteger) 或 直接将输入转换为整数来处理 。 解题心得 本题的难点在于实现乘法,其实也是按照步骤一个一个来,对应位相乘,留余数,看进位。关键是实现过程中乘法的运算是不是搞懂了。 最近太累了,参考的评论区的代码,其他的就不多写了。 解题代码 class Solution : def multiply ( self , num1 : str , num2 : str ) - > str : if num1 == "0" or num2 == "0" : return "0" n1 = len ( num1 ) n2 = len ( num2 ) result = [ 0 for i in range (

leetcode43 字符串相乘 python

喜夏-厌秋 提交于 2019-12-08 06:17:02
字符串相乘 (中等)(leetcode43) 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例1:输入: num1 = "2", num2 = "3",输出: "6" 示例 2:输入: num1 = "123", num2 = "456",输出: "56088" 说明:不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理。 def multiply(self, num1, num2): n1=[] n2=[] ans=0 [n1.append(int(i)) for i in num1[::-1]] [n2.append(int(i)) for i in num2[::-1]] for i in range(len(n1)): for j in range(len(n2)): #遍历两个n if (i+j)==0: #设置系数 k=1 else: k=int('1'+(i+j)*'0') #如果i+j=2,k=100 ans=ans+(n1[i]*n2[j])*k return str(ans) 来源: CSDN 作者: usstzm 链接: https://blog.csdn.net/qq_37792144/article/details/89173808

leetcode刷题python之字符串相乘

ぃ、小莉子 提交于 2019-12-08 06:16:48
class Solution: def multiply(self, num1: str, num2: str) -> str: if num1 == '0' or num2 == '0': return '0' num1 = num1[::-1] num2 = num2[::-1] result = [0] * (len(num1) + len(num2)) for index1 , i1 in enumerate(num1): # n1 = int(i1) for index2 , i2 in enumerate(num2): # n2 = int(i2) sum = result[index1 + index2] + int(i1)*int(i2) result[index1 + index2] = sum % 10 result[index1 + index2 + 1] += sum // 10 res = ''.join([ str(x) for x in result ])[::-1].lstrip('0') # res = ''.join(res) # res = res[::-1] # res = res.lstrip('0') return res 来源: CSDN 作者: leileii 链接: https://blog.csdn.net/leileii

LeetCode011:python字符串相乘

 ̄綄美尐妖づ 提交于 2019-12-08 06:13:56
原题地址: https://leetcode-cn.com/problems/multiply-strings/ 题目描述: 给定两个以字符串形式表示的非负整数 num1 和 num2 ,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输入: num1 = "123", num2 = "456" 输出: "56088" 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9 。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能使用任何标准库的大数类型(比如 BigInteger) 或 直接将输入转换为整数来处理 。 class Solution: def multiply(self, num1, num2): """ :type num1: str :type num2: str :rtype: str """ if num1=='0' or num2=='0': return '0' res = [0 for i in range(len(num1+num2))] for i in range(len(num1)): for j in range(len(num2)): res[i+j+1] += int

43. 字符串相乘_python

本秂侑毒 提交于 2019-12-08 06:13:04
【题目】 【思路】 输入是两个字符串形式的非负整数,返回乘积结果的字符串形式,不允许转换成整数再进行处理。即最简单直接 return str(int(num1) * int(num2)) 。 将num2每位依次乘以num1每位,再移位相加,先不处理进位情况 处理进位: 通过整除%和求余数\计算该位数和进位数,进位数加给前一位。 最后要删除res中前面的0 【python代码】 class Solution : # @param num1, a string # @param num2, a string # @return a string def multiply ( self , num1 , num2 ) : m = len ( num1 ) n = len ( num2 ) ans = [ 0 for i in range ( m + n ) ] if num1 == '0' or num2 == '0' : return '0' for i in range ( m - 1 , - 1 , - 1 ) : for j in range ( n - 1 , - 1 , - 1 ) : ans [ i + j + 1 ] += int ( num1 [ i ] ) * int ( num2 [ j ] ) res = [ ] for i in range ( m + n -

Leetcode43-字符串相乘(python)

守給你的承諾、 提交于 2019-12-08 05:59:49
题目描述: 给定两个以字符串形式表示的非负整数 num1 和 num2 ,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输入: num1 = "123", num2 = "456" 输出: "56088" 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9 。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能使用任何标准库的大数类型(比如 BigInteger) 或 直接将输入转换为整数来处理 。 代码: class Solution: def multiply(self, num1, num2): """ :type num1: str :type num2: str :rtype: str """ dict = {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9} if (num1=='0' or num2=='0'): return "0" n1 = 0 n2 = 0 for c in num1: val = dict[c] n1 = n1*10 + val for s in num2: val = dict[s

内建函数.数学运算类

人盡茶涼 提交于 2019-12-07 21:05:42
abs(x) 返回值: 数值对象 常用于: 对整数/长整数/浮点数/负数求绝对值.复数的绝对值返回它的模 # -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://my.oschina.net/pydevops/ # Purpose: # """ import cmath def main(): """Main function.""" cur_num = -1 cur_complex = cmath.sqrt(cur_num) # 其实返回的是复数模的绝对值 print abs(cur_complex) if __name__ == '__main__': main() complex(real [,imag]) 返回值: complex对象 常用于: 创建一个实数部分为real,虚数部分为imag的复数,或是将一个字符串/数字转换为复数,当字符串转换为复数时,字符串+/-两边不能有空白 # -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://my.oschina.net/pydevops/ # Purpose: # """ def main(): """Main function.""" cur_strs = '0 +

pyhon基础变量之print和input函数

大城市里の小女人 提交于 2019-12-07 16:25:49
1、python的基础可以分为:数据 函数 控制流 数据包括数据类型、变量、编码、类与对象; 函数包括:print() input len() type() str() int() str() float() exit()等; 而常见的数据类型有:字符串 整数 浮点数 布尔值 空值 列表 词典; 首先了解整数和字符串; 整数:即数学里面的数字;比如 1 2 45 等; 字符串:表示汉字; 注释 :在引用 字符串 时需要用 单引号 括起来;如: print('hello word') 如下图:第三行表示字符串; 第四行表示整数; [root@localhost_002 py]# cat 22.py #!/usr/bin/env python # -*- coding:utf-8 -*- print('hello word') #表示字符串 print(32) #表示数字 [root@localhost_002 py]# python 22.py hello word 32 2、变量:变量时没有固定的数,可以改变的一个数值,而在计算机中,会有很多很多的数据,那么怎么去寻找这些数据呢,首先会给这些数据分类,然后放在不同的盒子中,这个盒子就是python中的变量(变量就是一个带标签和盒子,你可以把数据放在盒子里去); 如: a=1 #则表示给变量赋予值为1; [root@localhost