WbICHA, а содержимое строки - оно как, тоже известно? Гарантируется ли, что там нет ничего, кроме 'x' и 'o'? Вроде бы нет, ничего такого в тексте вопроса я не видел (по крайней мере, на момент перед публикацией своего ответа). Так что дополнительные телодвижения, направленные на предотвращение ошибок при наличии мусорных значений в строке нужны в любом случае.
Это не будет работать должным образом. Начинаем с 0, так что вторая часть выражения, с ++ - она никогда не будет вычисляться. Наличие ключа придётся проверять явно.
Проще, короче - оно тут всё просто и коротко, мне без разницы.