zoukankan      html  css  js  c++  java
  • 344. Reverse String

    原文题目:

    344. Reverse String

    读题:

    题目就是将一个字符串进行翻转操作,解法有4种

    1)用库函数reverse

    2)从后往前进行复制

    3)头尾字符进行交换

    4)用栈实现

    库函数法:

    class Solution 
    {
    public:
    	string reverseString(string s) 
    	{
    		reverse(s.begin(),s.end());
    		return s;
    
    	}
    };
    

    复制法:

    class Solution 
    {
    public:
    	string reverseString(string s) 
    	{
    		string result;
    		int len = s.length();
    		int i = len - 1;
    		
    		if(!len) return s;
    		for(;i >= 0;i--)
    		{
    			result += s[i];
    		}
    		return result;
    
    	}
    }; 
    

     交换法:

    class Solution {
    public:
    	string reverseString(string s) {
    		for(int i = 0, j = s.length() - 1; i < j; i++, j--){
    			char temp = s[i];
    			s[i] = s[j];
    			s[j] = temp;
    		}
    		return s;
    	}
    };
    

      栈实现:

    class Solution {  
    public:  
        string reverseString(string s) {  
            string result ;  
            int len = s.length();  
            if(len==0) return result;  
            int i = 0;  
            stack<char> stk;  
            while(i< len)  
            {  
                stk.push(s[i]);  
                i++;  
            }  
            while(!stk.empty())  
            {  
                char temp = stk.top();  
                result.push_back(temp);  
                stk.pop();  
                  
            }  
            return result;  
        }  
    };  
    

      

  • 相关阅读:
    前端工程师们,这些干货让你开发效率加倍
    我的代码片段
    人生至少有一次为了自己的勇气而活
    美食篇之御桥小聚
    美食篇之好好对自己
    F
    Github 简明教程
    A
    完美字符串
    1222: FJ的字符串 [水题]
  • 原文地址:https://www.cnblogs.com/xqn2017/p/8405365.html
Copyright © 2011-2022 走看看