Pattern #3
Strings
Important interview questions, thinking patterns, and rules for solving string problems in Go.
Must Solve
17 core questions — solve these first.
- 1.Valid AnagramFrequency Arrayeasy
- 2.Valid PalindromeTwo Pointerseasy
- 3.Longest Common PrefixCompare charseasy
- 4.First Unique Character in a StringFrequency Arrayeasy
- 5.Reverse StringTwo Pointerseasy
- 6.Reverse Words in a StringSplit + Reversemedium
- 7.Longest Substring Without Repeating CharactersSliding Windowmedium
- 8.Group AnagramsSort / Freq keymedium
- 9.Valid ParenthesesStackeasy
- 10.String to Integer (atoi)Edge casesmedium
- 11.Find the Index of the First Occurrence in a StringTwo Pointers / KMPeasy
- 12.Longest Palindromic SubstringExpand centermedium
- 13.Palindromic SubstringsExpand centermedium
- 14.Minimum Window SubstringSliding Windowhard
- 15.Decode StringStackmedium
- 16.Multiply StringsMath simulationmedium
- 17.Roman to IntegerMap + scaneasy
Also Important
13 more questions worth practicing.
- 18.Isomorphic StringsTwo Mapseasy
- 19.Word PatternTwo Mapseasy
- 20.Ransom NoteFrequency Arrayeasy
- 21.Add StringsMath carryeasy
- 22.Compare Version NumbersSplit + parsemedium
- 23.Zigzag ConversionRow simulationmedium
- 24.String CompressionTwo Pointersmedium
- 25.Repeated Substring PatternDouble stringeasy
- 26.Encode and Decode StringsLength prefixmedium
- 27.Longest Repeating Character ReplacementSliding Windowmedium
- 28.Permutation in StringSliding Windowmedium
- 29.Find All Anagrams in a StringSliding Windowmedium
- 30.Valid Palindrome IITwo Pointerseasy
How to Think
- Need character count?Hash Map / Frequency Array
- Need compare two strings?Frequency / Two Pointers
- Need longest substring?Sliding Window
- Need substring without duplicate?Sliding Window + Hash Set/Map
- Need smallest valid substring?Sliding Window
- Need palindrome?Two Pointers / Expand from Center
- Need group same characters?Sort string / Frequency signature
- Need brackets validation?Stack
- Need find pattern inside string?Two Pointers / KMP
- Only lowercase a-z?[26]int
- Need build result many times?strings.Builder (avoid concat)
Interview Rules
- 1. Ask: case-sensitive or not?
- 2. Ask: spaces/symbols matter?
- 3. Check empty string.
- 4. Check one character.
- 5. Check repeated characters.
- 6. Check uppercase/lowercase.
- 7. Know:
substring = continuous - 8. Know:
subsequence = not necessarily continuous - 9. Try to reduce
O(n²)substring checks usingSliding Window. - 10. In Go: strings are byte sequences; Unicode may need
[]rune.
💡 Strings are the 2nd most common interview topic. Master these 30 problems and you cover most string questions.