Fork me on GitHub

C# 写 LeetCode easy #9 Palindrome Number

9、Palindrome Number

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

Example 1:

Input: 121
Output: true

Example 2:

Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.

Example 3:

Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.

Follow up:

Coud you solve it without converting the integer to a string?

 

代码:

static void Main(string[] args)
{
    int num = 123321;
    bool result = Palindromenumber(num);
    Console.WriteLine(result);
    Console.ReadKey();
}

private static bool Palindromenumber(int num)
{
    if (num < 0) return false;
    var arr = num.ToString().ToCharArray();
    Array.Reverse(arr);
    return num.ToString() == new string(arr);
}

 

解析:

输入:整数

输出:bool类型,true或者false

思想

  首先,对于负数判断结果一定为false,对于正数,将其转变为字符数组的格式。

  其次,利用数组Array的方法Reverse()将字符数组进行反转。

  最后,将原来的整数和反转后的字符数组都转换为字符串类型进行比较。返回true或false。

复杂度:O(n)

posted @ 2018-11-28 21:30  皮皮丶码  阅读(164)  评论(0编辑  收藏  举报