leetcode最后一个单词(双指针)

33 阅读1分钟

双指针从后向前遍历,i递减,j遇到空字符递减,当满足非(j不为空字符且i为空字符时)跳出循环,当然还要大于等于0。

    public int lengthOfLastWord {
        int i = s.length() - 1,j = i;
        while (i-- > 0 && !(s.charAt(j) != ' ' && s.charAt(i) == ' ')) {
            if(s.charAt(j) == ' ') j--;
        }
        return j - i;
    }