1. 两数之和
用字典构造哈希表dict,key是给定数组nums的成员,value为nums成员的索引。然后在dict中依次查找是否有target-nums[i]
学习语法:dict.has_key(target-nums[i]) python3改为 in
7.整数反转
取绝对值,再模10取余,构造新的反转整数,再判断是否在int32范围内-2147483648 到2147483647之间。
9.回文数
取绝对值,再模10取余,构造新的回文,再与原数比较。
13.罗马数字转整数:
特殊情况为:对于合法的罗马数字,小数字出现在大数字的左边时,结果为大数减小数。除此之外均为数字相加
关键语句: if i>0 and num_dict[s[i]]>num_dict[s[i-1]]:#特殊情况
res+=num_dict[s[i]]-2*num_dict[s[i-1]]#遍历会多加一次左边的小一点的数,所以要减回来
14.最长公共前缀:
初始化res为第一个字符串strs[0],从第二个字符串开始逐一找到与res的公共前缀,直到最即为所求。
关键语句:strs[i].find(res)!=0 #迭代判断res是否是strs[i]的子串
学习语法:string.find(substr)