精华内容
下载资源
问答
  • 使用指针判断回文字符串

    千次阅读 2020-04-18 09:44:37
    判断回文字符串有多种方法,可以分为使用指针的和使用数组的,在循环比较的结束调件上,有到1/2位置处结束的,有低处位置高于高处位置结束的。下面给出指针写法: int huiwen(char *str){ int flag=1; int len; ...

    判断回文字符串有多种方法, 可以分为使用指针的和使用数组的,在循环比较的结束调件上,有到1/2位置处结束的,有低处位置高于高处位置结束的。下面给出指针写法: 

    int huiwen(char *str){
    	int flag=1;
    	int len;
    	char *pStart=str;//等价于char *pStart;pStart=str;
    	char *pEnd;
    	len=strlen(str);
    	pEnd=pStart+len-1;
    	while(pStart<pEnd){
    		if(*pStart!=*pEnd){
    			flag=0;
    			return flag;
    		}
    		pStart++;
    		pEnd--;
    	}
    	return flag;
    }

     

    展开全文
  • 利用C语言编写判断一个字符串是否为回文的程序,首先设立一个头部指针指向字符串的首部,然后设立一个指针指向字符串的尾部,头部指针向前移动,尾部指针向后移动,当两个指针所指的值相等时为回文,否者不为回文,...
  • 指针 判断回文字符串

    2020-12-17 08:42:30
    ```本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: bool palindrome( char *s ); 函数palindrome判断输入...
    在这里插入代码片
    ```本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。
    
    函数接口定义:
    bool palindrome( char *s );
    函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。
    
    裁判测试程序样例:
    #include <stdio.h>
    #include <string.h>
    
    #define MAXN 20
    typedef enum {false, true} bool;
    
    bool palindrome( char *s );
    
    int main()
    {
        char s[MAXN];
    
        scanf("%s", s);
        if ( palindrome(s)==true )
            printf("Yes\n");
        else
            printf("No\n");
        printf("%s\n", s);
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    输入样例1:
    thisistrueurtsisiht
    输出样例1:
    Yes
    thisistrueurtsisiht
    输入样例2:
    thisisnottrue
    输出样例2:
    No
    thisisnottrue
    
    ```c
    在这里插入代码片
    ```bool palindrome( char *s )
    {
    	int l,i;
    	l=strlen(s);
    	for(i=0;i<l;i++){
    		if(s[i]==s[l-i-1]){
    			
    		}
    		else{
    			return 0;
    		}
    	}
    	return 1;
    }
    
    
    展开全文
  • 指针运用,回文判断

    千次阅读 2019-06-10 23:57:57
    例子:有一个数组中存储了10个数据, 用指针的方式判断是不是回文,例如1234554321 是回文 1234567890不是回文。 直接上代码,有注释一目了然! #include<stdio.h> #include<string.h> #include<...

    例子:有一个数组中存储了10个数据, 用指针的方式判断是不是回文,例如1234554321 是回文 1234567890不是回文。

    直接上代码,有注释一目了然!

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int main()
    {
    while (1)
    	{
    		char str_s1[20]/* = {'\0'}*/;
    		printf("请输入一组数据,判断是否是回文:");
    		gets(str_s1);          //得到输入的字符串
    		char *first = str_s1;//定义两个指针都指向字符串数组的首地址
    		char *end/* = str_s1*/;
    		int i = 0;
    		for (; (str_s1[i]) != '\0'; i++)//遍历数组,直到碰到\0结束遍历
    		{
    		    //遍历到\0时,到了数组尾部,指针end=str_s1 + i - 1刚好指向字符串数组最后一个输入字符的地址
    			end = str_s1 + i;           
    		}
    		printf("%d\t%p\t%p\t", i, first, end);//打印头尾指针
    		int j = 0;
    		for (; j < i / 2; j++)            //j的值用来判断,如果是回文的话,j值就是数组大小的一半
    		{
    			if (first[j] == end[-j])
    			{
    				continue;
    			}
    			else
    			{
    				break;
    			}
    		}
    		printf("%d\t", j);
    		if (j < i / 2)//j值小于数组元素大小的一半,就不是回文
    		{
    			printf("输入的数字不是回文!\n");
    		}
    		else
    		{
    			printf("输入的数字是回文!\n");
    		}
    	}
    	while (1);
    	return 0;
    }
    
    展开全文
  • 本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: bool palindrome( char *s ); 函数palindrome判断输入...

    本人菜鸟,还请诸位大佬多多指点!!!
    本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。

    函数接口定义:
    bool palindrome( char *s );

    函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。

    裁判测试程序样例:
    #include <stdio.h>
    #include <string.h>

    #define MAXN 20
    typedef enum {false, true} bool;

    bool palindrome( char *s );

    int main()
    {
    char s[MAXN];

    scanf("%s", s);
    if ( palindrome(s)==true )
        printf("Yes\n");
    else
        printf("No\n");
    printf("%s\n", s);
    
    return 0;
    

    }

    /* 你的代码将被嵌在这里 */

    输入样例1:
    thisistrueurtsisiht

    输出样例1:
    Yes
    thisistrueurtsisiht

    输入样例2:
    thisisnottrue

    输出样例2:
    No
    thisisnottrue

    作者: C课程组
    单位: 浙江大学
    时间限制: 400 ms
    内存限制: 64 MB

    代码如下

    bool palindrome(char* s)
    {
    int d;
    d = strlen(s);
    int i, j, flag = 0;
    if (d == 1)
    {
    flag = 1;
    }
    for (i = 0, j = d - 1;i < d / 2;i++)
    {
    if ((s + i) == (s + j))
    {
    j–;
    flag = 1;
    }
    }
    if(d%2==0)
    {
    if(
    (s+(d/2))==
    (s+(d/2)-1))
    flag=1;
    else
    flag=0;
    }
    if (flag == 0)
    return false;
    else
    return true;
    }

    展开全文
  • ②链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 优点:插入或删除元素时很方便,使用灵活。缺点:存储密度小(),存储空间利用率低。 顺序表...
  • 指针简单实现回文判断(C++版)

    千次阅读 2019-04-28 15:13:18
    #include <iostream> using namespace std; int main() { char test[5]; int flag = 0; char *p, *q; p = test; for (int i = 0; i < 5; i++) { cin >> *p; ...
  • C语言判断回文字符串(指针

    千次阅读 多人点赞 2020-11-22 23:18:22
    功能是判断一个字符串是否是回文字符串(提示:回文字符串是指正读和反读都一样的字符串),要求从主函数中由键盘输入字符串,调用函数fun后,根据函数fun的返回值,主函数输出是否为回文字符串的判断。 输入样例:...
  • 判断是否为回文。输入一个字符串,若是回文,则输出Yes,否则输出No。 哪里有问题。 <code class="language-cpp">#include <stdio.h> #include <string.h> #define N 100 int ...
  • C语言纯指针实现回文判断

    千次阅读 2018-04-12 15:22:50
    #include<stdio.h> #include<string.h> void ishuiwen(char *str) { char *p = str; char *q = str;...//指针指向'\0'自减从而指向最后一个字符 int i; int flag = 1; for(i=0;i...
  • 判断回文链表

    2020-06-09 18:23:22
    //判断回文链表 //1.方法一:利用栈结构,把链表倒进去,然后一一弹出比对 //2.方法二:快慢指针 //快慢指针+栈 减少了额外空间复杂度 bool Istrue(List head) { //假设是含有头节点的 head = head->next; ...
  • 这段时间完成了职业生涯第一次跳槽,对算法题目有了一个更深的认识和理解,这里将...判断回文链表 在前面几个小节的介绍中,我们主要介绍了基础的链表题目,主要是利用了双指针的思想。本篇博文,我们看三道经典...
  • //判断回文(指针实现) #include #include #include   void IsSymmetrical(char *str) {  char *begin, *end;  int flag, len = strlen(str);    for (begin=str, end=str+len-1
  • 1.4-8判断回文

    2019-09-19 16:03:15
    判断回文 解题思路: 方法一:利用栈先进后出的性质,先原元字符串压入栈中,然后依次出栈,和原字符串所有字符进行比较 方法二:在方法一的基础上,只把原字符串数组后半部分压入栈中,然后和数组前半部分进行...
  • 判断回文链表,回文串

    2020-12-08 21:03:44
    判断回文链表 回文数的特点就是从左往右和从右往左是一样的顺序 判断是不是回文链表就利用这一特点 12321 这就是一组回文数 解决回文链表的思想 将原来的链表拷贝一份并且反转(这样做是为了不改变原有链表),如果原...
  • 6-5 判断回文字符串 (20分) 本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: bool palindrome( char *s ); ...
  • 判断回文数字

    2021-05-19 23:03:26
    思路1:转化为char[]数组,然后两个指针分别在开头与结尾出,分别向后,向前移动。 思路2:利用一个辅助变量help,得到最高位为1,其余位置为0的数。[ 1,10,100,1000,10000 ]。同时要防止help溢出。 ...
  • 1.利用对撞指针进行遍历字符串进行判断。 2.使用库函数简化过程 代码实现: bool isPalindrome( string s) { for ( int i = 0 , j = s.size() - 1 ; i ; i++, j--) //i==j此处不用判断 { ...
  • 编写一个可以判断回文字符串的函数 要求***利用一个函数判断一串字符是否回文*** 思想:设置两个工作指针p1,p2分别指向字符串首尾,进行字符逐一比较,若有一个字符不相等,标记置为1,标记若为0,则为回文字符串 ...
  • 回文指的是,类似EVEVE,正序和反序...判断头尾指针指向的字符是否相等(注意是*p和*q,是指向字符串中的字符,并不是指向字符串,这里需要注意),如果相等,指针向内移动,即(p--,q++),再次调用函数(直到两...
  • 用栈实现判断回文

    2018-10-27 19:36:35
    用栈实现判断回文利用了栈先进后出的特性。 即只要把一般放进栈里面,然后利用栈的特性,后进先出,然后一个一个弹出来和后面的比较即可。 但是这需要先把字符串存到一个数组中,计算出字符串的长度,然后再将一半...
  • labuladong如何判断回文链表 方法1:链表转列表,双指针逼近 将链表转化为列表,然后利用左右双指针技巧,从两端到中间逼近 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, ...
  • 判断回文单链表 核心思想:从中心向两边扩展。 对于判断回文串,正读和倒读的结果应该相同。其中核心的做法就是将单链表进行倒着读,大致可以分为两种方法: 反转链表,其中可以参考手撕LeetCode(2)中的reverse的...
  • 如果字符串是通过单链表存储的,那该如何来判断是一个回文串呢?你有什么好的解决思路呢?相应的时间空间复杂度又是多少呢? 使用快慢指针定位中间节点 从开始对前半部分到中间节点逆序 前后半部分比较,判断是否...
  • 题目: 请判断一个链表是否为回文链表。 示例 1: ...利用数组前后指针遍历一次,判断是否相同; 见代码1 方二: 使用快慢指针遍历一次链表,找到中间结点; 将链表的前半部分翻转,然后从中...
  • 判断回文的三种方式

    万次阅读 多人点赞 2018-05-06 13:47:30
    就是将这串数字逆序,然后判断逆序后的数字是否和正序后的数字完全一样,如果完全一样,就是回文。 那么,如何将这串数字逆序:就是利用一个栈实现逆序。 利用栈先进后出的性质。 代码如下: #include&...
  • 判断回文是一个很基础同时也很经典的问题,首先我们了解一下何谓回文? 引入百度百科的解释: “回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,498
精华内容 1,799
关键字:

利用指针来判断回文