[Leetcode]字符串的反转

原创 2016年08月28日 14:33:15

Write a function that takes a string as input and returns the string reversed.

Example:

Given s = "hello", return "olleh".

很简单,针对长度为奇偶情况不同,作对应的处理:

char* reverseString(char* rs) 
{
    char *p = NULL, *q = NULL, *mid = NULL;
	char tmp = '\0';
	int i, len;
	len = strlen(rs);
	
	printf("len=%d\n", len);
	char *s = malloc(len + 1);
	memset(s, 0, len+1);
	strncpy(s, rs, len);
	
	if (len <= 1)
		return rs;
		
	if (len % 2 == 0)
	{
		for(i = 0; i < len / 2; i ++)
		{
			tmp = s[i];
			s[i] = s[len - i - 1];
			s[len - i - 1] = tmp;
		}	
	}
	else
	{
		p = &s[0];
		mid = &s[(len / 2) + 1];//middle elem
		q = &s[len - 1];
		
		while(p != mid)
		{
			tmp = *p;
			*p = *q;
			*q = tmp;
			
			p ++;
			q --;
		}
	}
	
	return s;
}


版权声明:原创文章,转载请注明出处。

相关文章推荐

leetcode解题之344. Reverse String & 345. Reverse Vowels of a String Java版(反转字符串)

leetcode解题之344. Reverse String & 345. Reverse Vowels of a String Java版(反转字符串)

[LeetCode]541. Reverse String II(间隔反转字符串)

541. Reverse String II原题链接 Given a string and an integer k, you need to reverse the first k charact...

LeetCode之186_Reverse Words in a String 字符串词序反转算法

给定一个字符串S,反转其中存在的单词顺序,将

【LeetCode-面试算法经典-Java实现】【151-Reverse Words in a String(反转字符串中的单词)】

【152-Reverse Words in a String(反转字符串中的单词)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given an input strin...

字符串左旋 VS 反转英文句子

字符串左旋问题 解法一:可以用三部反转法,把一个字符串”abcdefgh”左旋三个字符,分成两部分,”abc”,”defgh”。分别旋转两部分,得到”cbahgfed”,在总的反转得到”defgh...

c++反转字符串代码

  • 2014-04-09 16:32
  • 714B
  • 下载

递归反转字符串C++代码

  • 2013-08-08 12:35
  • 622B
  • 下载

字符串反转

主题思路: 1.反转全部字符串,(备注:strlen()一定要-1) 2.单个反转,以空格为标识位#include #include #include #include #define B...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)