Find sum
Written on October 21, 2015
Tweet
find the length of longest substring with left sum equal to right sum
public class Solution {
public static int find(String s) {
if (s == null) return 0;
int maxLen = 0;
for (int i = 1; i < s.length(); i++) {
int start = i - 1, end = i;
int leftSum = 0, rightSum = 0, len = 0;
while (start - len >= 0 && end + len < s.length()) {
leftSum += Character.getNumericValue(s.charAt(start - len));
rightSum += Character.getNumericValue(s.charAt(end + len));
if (leftSum == rightSum) {
//update maxLen if we have found one
maxLen = Math.max(maxLen, 2 * (len + 1));
}
len++;//we always go as far as i can
}
}
return maxLen;
}
}