原理:栈是先进后出,队列是先进先出,这两个数据结构的存储是一样的,但是他们的读取确是不同,通过这个我们就能判断回文字符串
static void Main(string[] args)
{
string str = Console.ReadLine();
Stack<char> stack = new Stack<char>();//创建一个栈
Queue<char> queue = new Queue<char>();//创建一个队列
for (int i = 0; i < str.Length; i++)
{
stack.Push(str[i]);
queue.Enqueue(str[i]);
}
bool isHui = true;//是否是回文字符串
while (stack.Count>0)
{
if (stack.Pop() != queue.Dequeue())
{
isHui = false;
break;
}
}
Console.WriteLine("是否是回文字符串:"+isHui);
Console.ReadKey();
}