C#算法之回文数

yizhihongxing

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#中让控件全屏显示的实现代码(WinForm)

    以下是C#中让控件全屏显示的实现代码的攻略: 第一步:准备工作 首先,在你的WinForm程序中找到需要全屏显示的控件(例如一个PictureBox),然后在窗体的SizeChanged事件中添加代码。 接下来,你需要给控件添加以下属性: Dock = Fill 使得控件充满整个窗体 Anchor = Top, Bottom, Left, Right 使得控…

    C# 2023年6月7日
    00
  • C#生成DLL文件的方法小结

    C#生成DLL文件的方法小结 什么是DLL文件 DLL,全称Dynamic Link Library,即“动态链接库”,是Windows操作系统中组成的程序代码库,我们常用的动态链接库文件后缀名为.dll。通过DLL文件,可以把一个或多个函数组成一个DLL文件,其他程序通过调用DLL文件中的函数来实现某些特定的功能。DLL文件一般分为静态链接库和动态链接库两…

    C# 2023年6月1日
    00
  • Mvc提交表单的四种方法全程详解

    Mvc提交表单的四种方法全程详解 本文将详细讲解 MVC 中提交表单的四种方法,并提供示例说明。四种方法分别为 GET、POST、PUT 和 DELETE。 在开始之前,我们需要了解一下 MVC 的控制器(Controller)和视图(View)。控制器负责接受用户的请求并处理请求,视图负责展示数据。 1. GET 方法 GET 方法通常用于获取数据,比如查…

    C# 2023年5月31日
    00
  • 通用的CRUD之LiteDB

    前言 你要开发一个系统,是不是首要任务是先建库,建表,建字段,既所谓的数据建模(听起来高大上一点,数据建模也确实是个烧脑的活),要费不少功夫。不知你是否遇到过这样的场景。A产品有3个测试参数,B产品有6个测试参数,而且值和类型都各不相同,用SQL你要怎么建表呢?有人会说这简单“参数名,参数值两列搞定”,NO!数据类型考虑了吗,数据量考虑了吗?有人又说”每个参…

    C# 2023年5月10日
    00
  • C#实现身份证验证功能的示例代码

    下面是“C#实现身份证验证功能的示例代码”的完整攻略。 步骤一:身份证校验规则 身份证号码是由18位数字和字母X组成的字符串,其中第18位可能为字母X。校验规则如下: 所有大写字母必须转换为小写字母。 前17位必须是数字。 最后一位可以是数字(0-9)或字母X。 身份证号码的长度必须是18位。 步骤二:实现身份证验证代码 在这一步骤中,我们将通过示例代码实现…

    C# 2023年6月1日
    00
  • C#实现简单工厂模式

    C#实现简单工厂模式 简单工厂模式是一种创建模式,它提供了一种创建对象的最佳方式,即抽象工厂角色生成具体的对象。 在实现C#的简单工厂模式时,需要定义一个抽象产品和多个具体产品类,再设计一个工厂类用于创建各个具体产品。 以下是实现C#的简单工厂模式的完整攻略: 第一步:定义抽象产品 抽象产品是被所创建对象所继承的基类或接口。在这里我们定义了一个抽象类 Fru…

    C# 2023年6月6日
    00
  • .NET  Visual Studio 代码性能分析工具

    下面是关于“.NET Visual Studio代码性能分析工具”的完整攻略,包含两个示例。 1. Visual Studio代码性能分析工具简介 Visual Studio代码性能分析工具是一种用于分析和优化.NET应用程序性能的工具。它可以帮助开发人员识别和解决应用程序中的性能问题,例如内存泄漏、高CPU使用率和长时间的响应时间等。 2. 使用Visua…

    C# 2023年5月15日
    00
  • C#11新特性预览及使用介绍

    C# 11新特性预览及使用介绍 介绍 C# 11新特性加入了一些新的语言特性,使得C#语言更具表达力和灵活性。在本文中,我们将介绍C# 11的一些新功能并演示如何使用它们。 新特性 1. 本地函数的支持 C# 10已经支持了本地函数的语法,但在C# 11中,我们可以在本地函数中使用“拓展方法”。具体而言,我们可以在本地函数中使用类的拓展方法。 例如,我们需要…

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