Minimum Suffix Flips

给一个string, 里面是0和1, 给一个操作, 可以flip所有在i后的字符, 求最少flip几次.

这题通过观察, 可以发现如果从左往右考虑, 从0到1的flip和从1到0的flip, 其实都不会影响左边已经flip过的字符, 故操作次数只与当前的字符是不是和前一个字符相同有关.

class Solution {
    public int minFlips(String target) {
        int cur = 0;
        int res = 0;
        for(int i = 0; i < target.length(); i++) {
            if(cur != (target.charAt(i) - '0')){
                if(cur == 0)
                    cur = 1;
                else
                    cur = 0;
                res++;
            }
        }
        return res;
    }
}