Reverse a string
def reverse_string(s):
return s[::-1]
Check if a string is a palindrome
def is_palindrome(s):
s = s.lower()
return s == s[::-1]
Find the missing number from 0..n
def missing_number(nums):
n = len(nums)
return n * (n + 1) // 2 - sum(nums)
Count character frequency
from collections import Counter
def char_count(s):
return Counter(s)
Two Sum
def two_sum(nums, target):
seen = {}
for i, num in enumerate(nums):
diff = target - num
if diff in seen:
return [seen[diff], i]
seen[num] = i
Balanced brackets {},(),[]
def is_balanced(s):
stack = []
pairs = {‘)’:’(‘, ‘}’:’{‘, ‘]’:’[’}
for ch in s:
if ch in pairs.values():
stack.append(ch)
elif ch in pairs:
if not stack or stack[-1] != pairs[ch]:
return False
stack.pop()
return not stack
Remove duplicates (preserve order)
def remove_dupes(nums):
seen = set()
result = []
for n in nums:
if n not in seen:
seen.add(n)
result.append(n)
return result
Merge two sorted lists
def merge_sorted(a, b):
i = j = 0
result = []
while i < len(a) and j < len(b):
if a[i] <= b[j]:
result.append(a[i])
i += 1
else:
result.append(b[j])
j += 1
result.extend(a[i:])
result.extend(b[j:])
return result