---
# System prepended metadata

title: '[zero judge]a022. 迴文'
tags: [刷題]

---

**內容**
迴文的定義為正向，反向讀到的字串均相同

如：abba , abcba ... 等就是迴文

 請判斷一個字串是否是一個迴文？

**輸入說明**
輸入資料共一行包含一個字串(長度 < 1000)

**輸出說明**
針對每一行輸入字串輸出 yes or no

**範例輸入 #1**
abba
**範例輸出 #1**
yes


**範例輸入 #2**
abcd
**範例輸出 #2**
no


**C++解法:**

``` C++

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main(){
    
    string s;
    cout<<"請輸入一個數來判斷是否迴文:";
    cin>>s;
    
    string t =s;//t用來放s原本的字串
    
    reverse(s.begin(),s.end());//開頭字元與結束字元交換
    
    
    
    if(t==s)//比對是否迴文
    {
        cout<<"yes\n";
    }
    else{
        cout<<"no \n";
    }
    
    return 0;
}

```
   
**C#解法:**   
```‵C#
    //輸入 => 轉陣列 => Reverse => 比對
    using System;
    class HelloWorld {
    static void Main() {
    
        Console.WriteLine("請輸入一個數來判斷迴文:");
        string s = Console.ReadLine();
        char[] charArray = s.ToCharArray();
        //利用char[]陣列，分割成多個部分
        Array.Reverse(charArray);
        Console.WriteLine(charArray);//可以先查看反轉後的字串

        string reversedString = new string(charArray);
        if(s.Equals(reversedString,StringComparison.OrdinalIgnoreCase))
        {
            Console.WriteLine("yes");
        }
        else{
            Console.WriteLine("no");
        }


      }
    }
```
    
StringComparison.OrdinalIgnoreCase
    OrdinalIgnoreCase	執行不區分大小寫的序數比較。
    
為什麼使用StringComparison.OrdinalIgnoreCase?
    
- StringComparison.OrdinaIgnoreCase是用於指定字串比較方式的枚舉值，比較字串時，會忽略==大小寫==與*==文化性==。
    (用於迴文是符合的。例:"Madam"與"madam"是一樣的)
    
- 使用StringComparison.Ordinal，會根據當前文化性的排序規則來進行比對。
    而StringComparison.OrdinaIgnoreCase使用比較時，按照字母的二進制進行比對。
    
    
    
*文化性:
    所謂的文化性是指不同地區或語言文化，對文字、數字、時間、貨幣、數字格式等方面區分，以便程式能適應不同地區與語言環境。
    
    
    參考:
    
    在 .NET 中比較字串的最佳做法
    https://learn.microsoft.com/zh-tw/dotnet/standard/base-types/best-practices-strings
    
    StringComparison Enum
    https://learn.microsoft.com/zh-tw/dotnet/api/system.stringcomparison?view=net-8.0#system-stringcomparison-ordinal
    
    

