You are given a string s consisting of lowercase English letters
('a' to 'z') and the character '?'.
Each '?' can be replaced with any lowercase English letter.
Return the total number of ways to replace all '?' such that the final
string has no two adjacent identical characters.
Since the answer may be large, return it modulo 10^9 + 7.
Examples
01 · Example 1
s = "??" return = 650
- First character: 26 choices
- Second character: 25 choices (cannot equal the previous character)
- Total ways = 26 * 25 = 650
Constraints
1 <= s.length <= 10^5s[i]is a lowercase English letter or'?'
More Salesforce problems
- Count Prime StringsONSITE INTERVIEW · Seen Jun 2026
- Key Teams in TreeOA · Seen Mar 2026
- System Energy ReductionOA · Seen Mar 2026
- Update Logs by Symmetric XOROA · Seen Mar 2026
- Count Palindromic Concatenation PairsOA · Seen Mar 2026
- Collect Opportunity Data in a TreeOA · Seen Feb 2026
- Strings With No k Consecutive Identical CharactersOA · Seen Feb 2026
- Longest Subsequence which is a SubstringOA · Seen Dec 2025
public int replaceQuestionMarkToAvoidAdjacentDuplicates(String s) {
// write your code here
}
s"??"
expected650
sign in to submit