LeetCode::反转字符串——初级算法

题目:

请编写一个函数,其功能是将输入的字符串反转过来。

示例:

输入:s = "hello"

返回:"olleh"

思路:

这个题感觉就是老生常谈的题了,算是字符串里很简单的题了,方法也比较多,我就写几个方法吧

第一个:

用字符指针来做,这是C里的方法,思路很简单,就是把原来的字符串前后位置颠倒一下,交换下位置

代码如下:

char* result(char* s)
{
   int n=strlen(s);         //strlen()函数返回值是字符数组s的字符个数
   char x;
   int i;
   for(i=0;i

第二个:

跟第一个没太大区别,无非就是把原来的字符串倒序赋值给一个新的字符指针

代码如下:

char* result(char* s)
		{
			int n=strlen(s);       //strlen()函数返回值是字符数组s的字符个数
			char* x;
                        int i;
			for(i=n-1;i>=0;i--)
			{
				*x=*(s+i);
				x++; 
			}
			return x;
		}

第三个:

这个就更简单粗暴了,直接按倒序输出

代码如下:

void result(char* s)
		{
			int n=strlen(s);         //strlen()函数返回值是字符数组s的字符个数
                        int i;
			for(i=n-1;i>=0;i--)
			{
				cout<<*(s+i);
			}
		}

另外三种思路跟这三种是一样的,不过用的是C++里面的string类罢了,可以参考一下

代码如下:

//交换
class Solution {
public:
    string result(string s) {
        int n=s.length();             //length()函数是string类中的成员函数,功能是返回字符个数 
        char x;
        for(int i=0;i

 

你可能感兴趣的:(Arithmetic)