C#算法之回文数

C#算法之回文数

什么是回文数?

回文数指的是正着读和反着读都相同的数字。

例如,121、1331、2332等都是回文数。

判断一个数字是否为回文数的思路

判断一个数字是否为回文数,可以先把这个数字变成字符串,然后判断字符串正着读和反着读是否一致。

还可以采用“双指针”法,从数字的两端向中间靠拢,判断每一位是否一致。

C#代码实现

方法一:将数字转化为字符串

下面是将数字转化为字符串的代码实现:

public bool IsPalindrome(int x)
{
    string str = x.ToString();
    int len = str.Length;
    for (int i = 0; i < len / 2; i++)
    {
        if (str[i] != str[len - i - 1])
        {
            return false;
        }
    }
    return true;
}

其中,ToString()方法可以将一个数字转为字符串,str.Length可以获取字符串的长度。

方法二:双指针法

下面是采用双指针法的代码实现:

public bool IsPalindrome(int x)
{
    if (x < 0)
    {
        return false;
    }
    string str = x.ToString();
    int left = 0, right = str.Length - 1;
    while (left < right)
    {
        if (str[left] != str[right])
        {
            return false;
        }
        left++;
        right--;
    }
    return true;
}

其中,需要加上判断输入的数字是否小于0,因为负数不可能是回文数。

示例说明

示例一

输入数字为12321,采用第一种方法判断是否为回文数:

int x = 12321;
bool result = IsPalindrome(x);
Console.WriteLine(result);  // 输出结果为true

示例二

输入数字为-123,采用第二种方法判断是否为回文数:

int x = -123;
bool result = IsPalindrome(x);
Console.WriteLine(result);  // 输出结果为false

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#算法之回文数 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • C# 内部类与Lambda表达式用法详解

    下面是“C# 内部类与Lambda表达式用法详解”的完整攻略: 1. C# 内部类 1.1 什么是内部类 在 C# 中,内部类又叫嵌套类,是指一个类定义在另一个类的内部。内部类可以访问外部类的成员,而外部类也可以访问内部类的成员。内部类可以使用 private、public、protected 和 internal 等访问修饰符,一般来说,内部类的访问修饰符…

    C# 2023年6月1日
    00
  • 详解Java中的checked异常和unchecked异常区别

    详解Java中的checked异常和unchecked异常区别 Java中的异常类型可以分为两种:checked异常和unchecked异常。两种异常的区别主要在于程序编译时期是否必须进行异常处理。 checked异常: checked异常即编译器在编译Java程序时检查出的异常,通常与I/O操作和网络连接相关。程序在编译时必须要强制进行处理,这意味着这些异…

    C# 2023年5月15日
    00
  • C#利用FileSystemWatcher实时监控文件的增加,修改,重命名和删除

    C#利用FileSystemWatcher实时监控文件的增加,修改,重命名和删除 在C#中,可以使用FileSystemWatcher类实现对文件夹进行监视,实现对文件夹中文件的增加、修改、重命名和删除等操作的即时监控。 FileSystemWatcher基本用法 创建FileSystemWatcher对象 FileSystemWatcher watcher…

    C# 2023年5月15日
    00
  • C#数据适配器DataAdapter

    C#数据适配器DataAdapter完整攻略 什么是C#数据适配器DataAdapter C#数据适配器(DataAdapter)是ADO.NET提供的一种数据适配器对象,用于将数据源的数据填充到内存中的数据表(DataTable)并执行数据的插入、更新、删除等操作。DataAdapter可用于将数据源的全部或部分数据装载到DataSet对象中,DataAd…

    C# 2023年6月7日
    00
  • 计算机网络编程MQTT协议基础原理详解

    计算机网络编程MQTT协议基础原理详解 什么是 MQTT 协议? MQTT 是一种轻量级的,基于发布/订阅模式的通信协议,适用于 Internet of Things(IoT)领域中的低带宽、不可靠的网络环境。 mqtt 协议构建于 TCP/IP 协议之上,通信双方包括一个客户端和一个服务器(也称为代理或 broker)。客户端面向应用系统,将数据发布到服务…

    C# 2023年6月1日
    00
  • SQL Server LocalDB 在 ASP.NET中的应用介绍

    SQL Server LocalDB是一种轻量级版本的SQL Server数据库引擎,它可以在本地计算机上运行,不需要安装完整的SQL Server数据库引擎。在ASP.NET应用程序中,可以使用SQL Server LocalDB来存储和管理数据。本文将介绍如何在ASP.NET中使用SQL Server LocalDB,包括创建数据库、创建表、插入数据、查…

    C# 2023年5月15日
    00
  • C#实现俄罗斯方块基本功能

    C#实现俄罗斯方块基本功能的攻略可以分为以下几个步骤: 第一步:搭建基本框架 创建一个控制台应用程序项目,或者一个 WPF/WinForms 窗体应用程序项目。 在项目中创建 Block 类,该类代表一个俄罗斯方块方块。 在项目中创建 GameBoard 类,该类代表整个游戏面板。 在项目中创建 GameManager 类,该类负责游戏逻辑,如方块下落、旋转…

    C# 2023年6月1日
    00
  • WinForm中BackgroundWorker控件用法简单实例

    下面我将为您详细讲解 “WinForm中BackgroundWorker控件用法简单实例”的攻略。 背景介绍 BackgroundWorker 控件是一个可将耗时操作异步在后台运行的控件,它是一个轻量级的多线程组件,采用消息机制处理异步耗时操作完成后的回调。使用 BackgroundWorker 可以避免 UI 界面假死或者卡顿的情况,提升程序的用户体验。 …

    C# 2023年6月7日
    00
合作推广
合作推广
分享本页
返回顶部