One edit apart
Your task
Given two strings a and b, return True if they are at most one edit apart, where an edit is inserting, deleting, or replacing a single character (zero edits, i.e. equal strings, also counts as True). For example "pale" and "ple" are one delete apart, and "pale" and "bale" are one replace apart, but "pale" and "bake" need two edits. Solve in O(len(a)+len(b)) time without building a full DP table.
Examples
is_one_edit(a: str, b: str) -> boolExample 1
Input
is_one_edit("pale", "ple")Output
True