-
C#教程之C#教程之判断回文字符串
本站最新发布 C#从入门到精通
试听地址 https://www.xin3721.com/eschool/CSharpxin3721/
判断一个字符串是否为回文。用C#中栈和队列可以很好解决。我们都明白,栈先进后出,队先进先出。所以,当我们把字符串分别放到一个栈和一个队中,再依次出栈,出队,比较二者值是否相等就可以了。
namespace _004_栈和队列实例_判断字符串是否为回文
{
class Program
{
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; //isHui初始化为真
while(stack.Count > 0)
{
if(stack.Pop() != queue.Dequeue()) //只要发现有一个不等,就把isHui设置为假
{
isHui = false;
break; //发现有一个不等就退出循环
}
}
Console.WriteLine("字符串是否是回文" + isHui);
Console.ReadKey();
}
}
}
注意:
1.用到栈和队列。
2.栈必须用Pop() 出栈
3.队列必须用Dequeue() 出队
4.因为栈先进后出,队先进先出
试听地址 https://www.xin3721.com/eschool/CSharpxin3721/
判断一个字符串是否为回文。用C#中栈和队列可以很好解决。我们都明白,栈先进后出,队先进先出。所以,当我们把字符串分别放到一个栈和一个队中,再依次出栈,出队,比较二者值是否相等就可以了。
namespace _004_栈和队列实例_判断字符串是否为回文
{
class Program
{
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; //isHui初始化为真
while(stack.Count > 0)
{
if(stack.Pop() != queue.Dequeue()) //只要发现有一个不等,就把isHui设置为假
{
isHui = false;
break; //发现有一个不等就退出循环
}
}
Console.WriteLine("字符串是否是回文" + isHui);
Console.ReadKey();
}
}
}
注意:
1.用到栈和队列。
2.栈必须用Pop() 出栈
3.队列必须用Dequeue() 出队
4.因为栈先进后出,队先进先出
栏目列表
最新更新
C# 数据操作系列 - 17 Dapper ——号称可以与
C# 数据操作系列 - 18 让Dapper更强的插件
C#编码转换
python list遍历方法汇总
将Python分成7个阶段学习,你会发现学习
Python中的单例模式如何正确运用?本文详
使用Python爬虫的方式把自己喜欢的音乐的
pandas.cut使用总结
Python之Selenium如何正确运用?案例详解
Python爬虫是如何遍历文档树呢?一招教你
基于UDP的服务器端和客户端
再谈UDP和TCP
在socket编程中使用域名
网络数据传输时的大小端问题
socket编程实现文件传输功能
如何优雅地断开TCP连接?
图解TCP四次握手断开连接
详细分析TCP数据的传输过程
图解TCP数据报结构以及三次握手(非常详
TCP协议的粘包问题(数据的无边界性)
SqlServer 利用游标批量更新数据
BOS只读状态修改
SQL Server等待事件—PAGEIOLATCH_EX
数据库多行转换为单一列
获取数据表最后最后访问,修改,更新,
计算经历的时间
SQL查询结果自定义排序
修改数据库默认位置
日期简单加或减
从日期获取年,月或日