精华内容
下载资源
问答
  • 判断回文字符串c++
    2021-05-19 08:46:23

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    /*--------用线性表存储字符串,结合堆栈判断回文(关键判断个数为奇或偶,奇跳过中间数据)---------*/

    #include 

    #include 

    #define ok 1;

    #define error 0;

    typedef char elemtype;

    typedef struct lnode{

    lnode *next;

    elemtype data;

    } lnode,*linklist;

    bool createlist(linklist &h,int n){

    //尾差插法

    linklist p,q;

    h=new lnode;

    h->next=NULL;

    q=h;

    cout<

    if(n<0) return error;

    for(int i=0;i

    p=new lnode;

    cin>>p->data;

    p->next=q->next;

    q->next=p;

    q=q->next;

    }

    return ok;

    }

    bool printlist(linklist h){

    linklist p;

    p=h->next;

    while(p!=NULL){

    cout<data<

    p=p->next;

    }

    return ok;

    }

    #define initsize 100

    #define stackincrs 10

    typedef struct{

    elemtype *base;

    elemtype *top;

    int stacksize;

    } stack;

    bool initstack(stack &s){

    s.base=new elemtype [initsize];

    s.top=s.base;

    s.stacksize=initsize;

    return ok;

    }

    bool push(stack &s,elemtype e){

    if(s.top-s.base>=s.stacksize){

    s.base=(elemtype*)realloc(s.base,(s.stacksize+stackincrs)*sizeof(elemtype));

    s.top=s.base+s.stacksize;

    s.stacksize=s.stacksize+stackincrs;

    }

    *s.top++=e;

    return ok;

    }

    bool pop(stack &s,elemtype &e){

    if(s.top==s.base) return error;

    --s.top;

    e=*s.top;

    return ok;

    }

    /************************回文判别***********/

    bool jude(stack &s,linklist h,int n){

    //结果:flag=1为回文,flag=0不为回文

    linklist p=h->next;

    for(int i=1;i<=n/2;i++){

    push(s,p->data);

    p=p->next;

    }

    if(n%2) p=p->next;

    bool flag=1;

    elemtype c;

    while(p!=NULL&&flag){

    pop(s,c);

    if(c==p->data)

    p=p->next;

    else flag=0;

    }

    return flag;

    }

    void main(){

    int n;

    stack s;

    linklist h;

    initstack(s);

    cout<

    cin>>n;

    createlist(h,n);

    if (jude(s,h,n))

    cout<

    else

    cout<

    cout<

    }

    更多相关内容
  • c++判断字符串回文

    2018-04-19 19:42:12
    可实现三种功能: (1)判断一整个字符串是否为回文; (2)判断指定位置的子串是否为回文; (3)输出此字符串中最长的子字符串
  • 本文实例解析了C++判断字符串是否回文的实现过程,通过数据结构中的相关例子,回文判断中采用过滤空格字符、有效字符依次入栈等方法实现该功能。 具体实例代码如下: #include using namespace std; #define Max_...
  • 如果翻转过后的字符串与原字符串相同,则原字符串回文串。头文件: #include 用法如下: #include using namespace std; #include int main() { string s; cin >> s; string m = s; bool v = 0; reverse(s.begin()...

    方法一:

    #include <iostream>
    using namespace std;
    int main()
    {
    	string s;
    	cin >> s;
    	bool v = 0;
    	
    		int n = s.size();
    		
    		
    			for (int j = 0; j <= n / 2-1; j++)
    			{
    				if (s[j] == s[n-1 - j])
    				{
    					v=1;
    				}
    				else
    				{
    					v = 0;
    					break;
    				}
    			}
    			if (v)
    			{
    				cout << "yes";
    			}
    			else
    			{
    				cout << "no";
    			}
    }

    方法二:

    reverse函数:将给定字符串进行翻转。如果翻转过后的字符串与原字符串相同,则原字符串是回文串。头文件:

    #include <algorithm>

    用法如下:

    #include <iostream>
    using namespace std;
    #include <algorithm>
    int main()
    {
    	string s;
    	cin >> s;
    	string m = s;
    	bool v = 0;
    	reverse(s.begin(), s.end());
    	if (s == m)
    	{
    		cout << "yes";
    	}
    	else
    	{
    		cout << "no";
    	}
    }

     

    展开全文
  • 回文字符串

    2019-01-28 20:17:58
    资源--回文字符串
  • C++练习18:判断回文字符串

    千次阅读 2021-05-19 12:08:41
    C++练习18:判断回文字符串题目方法1(反转对比法):思路代码方法2(扫描法):思路代码 题目 输入一个字符串并打印该字符串是否是回文(回文是向后和向前读取相同内容的字符串)。 方法1(反转对比法): 思路 ...

    题目

    输入一个字符串并打印该字符串是否是回文(回文是向后和向前读取相同内容的字符串)。

    方法1(反转对比法):

    思路

    使用reverse()反转字符串,再与原字符串对比,若一样则原字符串为回文,反之。

    代码

    #include<iostream>
    #include<string>
    #include<algorithm>
    using namespace std;
    int main() {
    	string str1;
    	cout << "请输入一个字符串:"; 
    	cin >> str1;
    	string str2 = str1;
    	reverse(str2.begin(), str2.end());//反转字符串
    	
    	if (str1 == str2){
    		cout << "yes" << endl;
    	}
    	else{
    		cout << "no" << endl;
    	}
    	return 0;
    }
    

    方法2(扫描法):

    思路

    利用双指针,从两边往中间扫

    代码

    #include<iostream>
    #include<string>
    #include<algorithm>
    using namespace std;
    int main(){
    	string a;
    	cin>>a;
    	int l=0,r=a.length()-1;
        while(l<r){
            if(a[l] != a[r]) break;
            l++;r--;
        }
        if (l < r) cout << a << "不是回文串" << endl;
        else cout << a << "是回文串" << endl;
    	return 0;
    }
    
    

    参考文章:判断字符串回文

    C++判断回文数

    判断回文数

    展开全文
  • C++ 判断回文字符串【两种方法】

    千次阅读 2020-03-18 16:21:39
    cpp:判断回文字符串的两种简单方法 #include <iostream> #include <string> using namespace std; bool testPalindrome(const string s){ int i = 0; int j = s.size() - 1; for(; i < j; i++, ...

    cpp:判断回文字符串的两种简单方法

    #include <iostream>
    #include <string>
    using namespace std;
    
    bool testPalindrome(const string s){
        int i = 0;
        int j = s.size() - 1;
        for(; i < j; i++, j--){
            if(s[i] != s[j])
                break;
        }
        if(i >= j)
            return 1;
        else
            return 0;
    }
    bool testPalindrome2(const string s){
        int i = 0;
        for(; i < s.size()/2; i++){
            if(s[i] != s[s.size() - 1 -i]){
                return 0;
            }
        }
        return 1;
    }
    int main()
    {
        string a;
        cin>>a;
        if (testPalindrome(a) && testPalindrome2(a))
            cout << "Palindrome string" << endl;
        else
        {
            cout << "Non-palindrome string" << endl;
        }
    }
    
    
    展开全文
  • 回文
  • C++/C回文字符串的实例详解判断输入的字符串是不是回文字符串,正反读一样。.C版#include<stdio>int main(){ char he[100]; char a; int i=0,flag=1; while((a=getchar())!='\n') { he[i]=a; i++; } int n=i; for(i=...
  • 递归算法判断回文字符串

    千次阅读 2020-07-22 20:44:55
    利用动态规划的思想,若一个字符串是回文字符串,那么它两头的字符一定相等,同时去掉两头的子字符串一定是回文字符串。利用好这一点,就可以设计递归方案,从目标字符串一路递归到只剩下一个字符(奇数字符串)或...
  • c++判断字符串是否为回文

    万次阅读 多人点赞 2020-07-21 17:31:44
    使用reverse()函数将字符串反转,与原字符串比较,若相同,则是回文,否则不是。例如:将"abba"反转得到"abba",和原字符串相同。将"good"反转得到"doog",和原字符串不同。 Code #include<iostream> #include&...
  • 输入一个字符串,输出该字符串是否回文回文是指顺读和倒读都一样的字符串。 输入格式 输入为一行字符串字符串中没有空白字符,字符串长度不超过 100100)。 输出格式 如果字符串回文,输出"yes";否则,输出...
  • 没啥好说的就是判回文
  • 给定一个长度为 n 的字符串,请编写一个函数判断字符串是否回文。如果是回文请返回true,否则返回false。 字符串回文指该字符串正序与其逆序逐字符一致。 class Solution { public: bool judge(string str) { ...
  • 6-7 判断回文字符串

    2022-05-01 16:56:01
    函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。 裁判测试程序样例: #include <stdio.h> #include <string.h> #define MAXN 20 typedef enum {f
  • C++实现:判断回文字符串

    千次阅读 2018-11-08 19:22:37
    题目:利用栈的基本操作对给定的字符串判断其是否是回文,若是则输出“Right”,否则输出“Wrong”。 #include &lt;iostream&gt; #include &lt;malloc.h&gt; #include &lt;cstdlib&gt; #...
  • C++判断字符串是否为回文
  • 回文字符串类似"ababa",即首位相等对称的字符串,下面看代码 from pythonds.basic.deque import Deque def palchecker(aString): # 双端队列,对首和队尾均能够出队和入队 chardeque = Deque() # 将字符串中字符...
  • 判断一个字符串是否回文

    千次阅读 2021-05-19 09:50:46
    该楼层疑似违规已被系统折叠隐藏此楼查看此楼从键盘读入一个字符串判断字符串是否回文,要求输入的字符串中不包含空格,回文就是字符串和其逆串完全相同。输入一个字符串(不包含空格)回文输出yes,否则输出no#...
  • 判断回文字符串 输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出...
  • 可能有多组测试数据,对于每组数据,如果是回文字符串则输出"Yes!”,否则输出"No!"。 输入 hellolleh helloworld 输出 Yes! No! C++实现: #include&lt;iostream...
  • 一个简单的判断回文字符串的程序。希望可以给大家一点方便。。
  • 输入一个字符串,输出该字符串是否回文回文是指顺读和倒读都一样的字符串。 【输入】 输入为一行字符串字符串中没有空白字符,字符串长度不超过100)。 【输出】 如果字符串回文,输出yes;否则,输出no。 ...
  • (C++)输入一个字符串,判断其是否是回文字符串回文字符串就是正序与反序是相同的字符串),若是输出"Yes!",否则输出"No!" 如: 输入:“ABCDDCBA" 输出:“Yes!” 输入:“ADCVVds” 输出:“No!” #include<...
  • 6-6 判断回文字符串 (20分)

    千次阅读 2020-04-04 13:12:12
    本题要求编写函数,判断给定的一串字符是否为“回文”。...函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。 裁判测试程序样例 #include <stdio.h> #includ...
  • java判断回文字符串几种简单的实现

    万次阅读 多人点赞 2017-10-18 00:49:49
    java判断回文字符串几种简单的实现
  • C++判断字符串是否是回文

    千次阅读 2019-10-18 18:10:20
    输入一个字符串,判断其是否是回文,是输出“yes”,不是输出“no”。回文即正读,反读是完全相同的文字。(如ABCDCBA、madam是回文,abcd不是回文。) 使用VC++6.0实现: 不使用指针: #include <iostream.h> #...
  • C++数据结构——判断回文串

    千次阅读 2022-04-09 14:42:55
    习题3-1 判断回文串 若一个串正向看和反向看等价,则称做回文串。例如:t, abba, xyzyx均是回文串。 给出一个长度不超过60的字符串,判断是否是回文串。请使用数据结构 栈完成本题。 输入格式: 首先输入一个整数T...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,775
精华内容 3,110
关键字:

判断回文字符串c++

友情链接: Newthread.rar