C#实现在一系列字符串中寻找所以的回文字符串

本文介绍了一种C#实现查找一系列字符串中所有回文字符串的方法。程序利用栈和队列的数据结构,通过两层循环遍历字符串,结合Split()方法将字符串拆分为数组,并通过Push()和Enqueue()操作判断字符是否为回文。最后,通过对比从栈和队列中取出的字符来确定回文串。
摘要由CSDN通过智能技术生成
  1. 程序开始首先定义一系列长字符串,代码:
 string arr = "a a a a c c b a a b c c b a d s f s f i w k i i k";
  1. 第二部,由于 arr 是字符串类型,这里还需定义一个字符数组,把上面的字符串放到数组里面去,但是不能全部搁一块放进去,需要把一串字符串分割开来,让它们成为数组里面的元素!这里用到了 Split()方法。代码:
  2. string[] arr1 = arr.Split(' ');
  3. 后面本程序将会用到两种数据结构分别是栈和队列,这里说下两者的结构存储特点,栈是“先进后出”,队列是先进先出,我们可以通过循环把需要判断是否是回文字符串的字符分别放入栈和队列中,然后再用循环分别中两者中取出,如果两者一样,那么这对字符就是字符串!
  4. 代码:
 string s ="";
            string y = "";
            for (int j = 0; j < arr1.Length; j++)//循环开始的位置
            {
   
                for (int i = 2; i < arr1.Length-j+1; i++)//循环字符串的长度
                {
                     
                    for (int x=0;x<i;x++)
                    {
   
                        stack.Push(arr1[j+x]);//把字符串压到栈里面
                        queue.Enqueue(arr1[j+x]);//把字符串压进队列里面
                    }
                    while (stack
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值