Python String Cheatsheet for Leetcode
String Basics
- Create string: s = "hello"
- Access characters: s[0], s[-1]
- Length: len(s)
- Loop: for ch in s:
- Compare: s1 == s2
- Substring: s[1:4]
- Concatenate: s1 + s2
- Repeat: s * 3
- Check substring: "lo" in s
- Replace: [Link]("a", "b")
- Remove whitespace: [Link](), [Link](), [Link]()
- Upper/lower: [Link](), [Link]()
String to List and Back
- Split by space: [Link]()
- Split by character: [Link](',')
- Join list into string: " ".join(list)
- String to list of characters: list(s)
- List of characters to string: "".join(char_list)
Reversing Strings
- Reverse entire string: s[::-1]
- Reverse word order: " ".join([Link]()[::-1])
- Reverse each word: " ".join(w[::-1] for w in [Link]())
- Reverse string with loop:
reversed_s = ''
for ch in s:
reversed_s = ch + reversed_s
String Search & Manipulation
- Find: [Link]("a") returns index or -1
- rfind: [Link]("a")
- Count occurrences: [Link]("a")
- Starts/Ends with: [Link]("yo"), [Link]("is")
Python String Cheatsheet for Leetcode
- isalpha(), isdigit(), isalnum(), isspace()
Leetcode Patterns (Strings)
- Reverse Words in a String: " ".join([Link]()[::-1])
- Valid Palindrome: s == s[::-1]
- Longest Common Prefix: vertical scan of characters
- Anagram check:
sorted(s1) == sorted(s2)
OR Counter(s1) == Counter(s2)
- Two-pointer technique (palindrome or compare ends):
left, right = 0, len(s) - 1
while left < right:
if s[left] != s[right]: return False
left += 1
right -= 1
String Formatting
- f-strings: name = "Alice"; f"Hello {name}"
- .format(): "Hi {}".format(name)
- % formatting: "Hi %s" % name
Regex (Regular Expressions)
import re
- Search: [Link](pattern, string)
- Match: [Link](pattern, string)
- Find all: [Link](pattern, string)
- Replace: [Link](pattern, repl, string)