Stealth Interview
  • Features
  • Pricing
  • Blog
  • Login
  • Sign up

How to Solve Edit Distance on LeetCode

The Edit Distance problem is a classic dynamic programming challenge, also called Levenshtein Distance.

Leetcode

Problem Statement

Given two strings word1 and word2, return the minimum number of operations required to convert word1 to word2. Allowed operations: insert, delete, replace a character.

Example:

Input: word1 = "horse", word2 = "ros" Output: 3 Explanation: horse -> rorse (replace), rorse -> rose (delete), rose -> ros (delete)

Why This Problem Matters for Interviews

  • Introduces 2D dynamic programming
  • Core for spellcheckers, diff tools, and bioinformatics
  • Teaches optimal substructure and overlapping subproblems

Approach to Edit Distance

Dynamic Programming Table (Optimal)

Build a 2D DP table where dp[i][j] is the edit distance between word1[0:i] and word2[0:j].

Time Complexity: O(mn)
Space Complexity: O(mn)

def minDistance(word1, word2): m, n = len(word1), len(word2) dp = [[0]*(n+1) for _ in range(m+1)] for i in range(m+1): dp[i][0] = i for j in range(n+1): dp[0][j] = j for i in range(1, m+1): for j in range(1, n+1): if word1[i-1] == word2[j-1]: dp[i][j] = dp[i-1][j-1] else: dp[i][j] = 1 + min( dp[i-1][j], # delete dp[i][j-1], # insert dp[i-1][j-1], # replace ) return dp[m][n]

Key Interview Talking Points

  • Base cases (empty strings)
  • Choices: insert, delete, replace
  • Space optimization (rolling arrays)

Big O Complexity Recap

ApproachTime ComplexitySpace Complexity
DP TableO(mn)O(mn)

Pro Interview Tips

  • Draw DP grid for short examples
  • Walk through each edit step
  • Know 1D optimization for follow-ups

Ace your next coding interview

We're here to help you ace your next coding interview.

Subscribe
Stealth Interview
© 2025 Stealth Interview ™All rights reserved.
Product
  • Blog
  • Pricing
Company
  • Terms of Service
  • Privacy Policy