1class Solution {2public String shiftingLetters(String s, int[] shifts) {3char[] arr = s.toCharArray();4int[] arr1 = new int[shifts.length];5arr1[arr1.length - 1] = (shifts[shifts.length - 1]) % 26;6for (int i = shifts.length - 2; i >= 0; i--) {7arr1[i] = (shifts[i] + arr1[i + 1]) % 26;8}9for (int i = 0; i < arr.length; i++) {10int c = (int) (arr[i]);11int n = c + arr1[i];12if (n > 122) {13int m = arr1[i] - (122 - c);14n = m + 96;15}16char ch = (char) n;17arr[i] = ch;18}19String string = new String(arr);20return string;21}22}