[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 541 Reverse String II C++

这题没什么难的,读懂题就好了,注意k比字符串长和最后剩下的比k小的情况。 string reverseStr(string s, int k) { int pos = 0; ...

LeetCode -- 反转英文单词

问题:给定英文句子,反转里面的每个单词,例如"the sky is blue" 反转后为 "blue is the sky"实现思路:对英文句子每个字符做循环s存放反转的句子,w存放单词遇到空格(1个...

【LeetCode在线编程记录-1】字符串按单词反转

经典问题,字符串按单词反转

[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-面试算法经典-Java实现】【151-Reverse Words in a String(反转字符串中的单词)】

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

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

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

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

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

leetcode第一题 将一个字符串的单词顺序反转输出

最近由于同学开始找工作了,发现了很多人都很厉害

递归反转字符串(带中文)

  • 2015年08月25日 22:28
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Leetcode]字符串的反转
举报原因:
原因补充:

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