数组、左右指针[5956] 找出数组中的第一个回文字符串

// 5956. 找出数组中的第一个回文字符串
public:
    string firstPalindrome(vector<string>& words) {
        // 默认返回空字符串
        string ans = "";
        
        遍历words中的所有字符串
        for(auto str : words){
            // 每次遍历假设该字符串是回文字符串
            bool flag = true;
            
            // 左、右遍历下标
            int le = 0, ri = str.size() - 1;
            
            while(le < ri){
                // 如果前后位置不同则直接进行下一次循环
                if(str[le] != str[ri]){
                    // 标记这个字符串不是回文字符串
                    flag = false;
                    break;
                }   
                
                // 移动左右下标
                le++;
                ri--;            
            }
            
            // 如果是回文字符串则直接返回
            if(flag) 
                return str;
        }
        
        return ans;
    }
};

上一篇:贪心牛奶之部分背包问题


下一篇:线性相关系数总结