java与C++遍历string和reverse用法的区别

java与C++遍历string和reverse用法的区别

概述

Java遍历string 需要先调用toCharArray()转换成char数组,然后调用for循环。

示例代码

 	class Solution {
    public boolean isPalindrome(String s) {
        if(s.equals("")||s==null) return true;
        s = s.toLowerCase();
        char[] ss = s.toCharArray();
        int k = s.length();
        StringBuilder str = new StringBuilder(k);
        for(int i=0;i<k;i++){
            if((ss[i]>='0'&&ss[i]<='9')||(ss[i]>='a'&&ss[i]<='z')){
                str.append(ss[i]);
            }  

        }
        return str.toString().equals(str.reverse().toString());
    }
}

C++遍历string 可以直接for循环,辅助auto。
示例代码

```cpp
class Solution {
public:
    bool isPalindrome(string s) {
        if(s.empty()) return true;
        string str;
        for(auto k :s){
            if(isalnum(k)){
                str += tolower(k);
            }
        }
        string a;
        a=str;
        reverse(str.begin(),str.end());
        for(auto i=0;i

你可能感兴趣的:(java与C++遍历string和reverse用法的区别)