真的,每次我写完c#再用python来一遍,都有一种人格分裂的感觉。
c#感觉像是那种正儿八经的斯文败类,python就是街头的浪荡游子。一起写的感觉就像修罗场[doge]。
标题:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121 输出: true
示例 2:
输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。
思路:先转成字符串,然后通过for循环和if判断每个字符和它对应的字符是否相等,
如果不等直接return false,相等就继续下一个判断,如果全部相等就返回true,
其中for循环只用循环字符串/2的长度就够了。
代码:
python
class Solution: def isPalindrome(self, x): strx = str(x) length = len(strx)-1
flag = True
for i in range(int(length/2)): if strx[i] != strx[length-i]: flag = False return flag else: flag = True return flag x = 0 a = Solution() print(a.isPalindrome(x))
c#
class Solution { public bool IsPalindrome(int x) { bool flag = true; string strx = x.ToString(); int length = strx.Length; for (int i = 0; i < length/2; i++) { if(strx[i] != strx[length - i - 1]) { flag = false; return flag; } else { flag = true; } } return flag; } static void Main(string[] args) { int nums = 1000021; Solution s = new Solution(); Console.WriteLine(s.IsPalindrome(nums)); Console.ReadKey(); } }