Я бы сказал, что дополнительный ;
является виновником.
Вместо
if (s.charAt(i) != h.charAt(t--));
использование
if (s.charAt(i) != h.charAt(t--))
Вы всегда должны идти «безопасным» путем. То есть используйте фигурные скобки после операторов if-else (и почти везде, где вы можете их использовать), поэтому таких ошибок не будет. Правильный способ написать это:
if (s.charAt(i) != h.charAt(t--)) {
g++;
}
И, кстати, ваш код взорвется, если вы не проверите сначала, что s
и h
имеют одинаковую длину.