161 One Edit Distance – Medium
Problem:
Thoughts:
Solutions:
public class Solution {
public boolean isOneEditDistance(String s, String t) {
//replace one character by adding one character by removing one character
if (s.length() != t.length() && s.length() + 1 != t.length() &&s.length() != t.length() + 1) {
return false;
}
if (s.equals(t)) {
return false;
}
if (s.length() == t.length()) {
for (int i = 0; i < s.length(); i ++) {
if (s.charAt(i) != t.charAt(i)) {
return s.substring(i + 1).equals(t.substring(i + 1));
}
}
return false;
}
else {
String longer = s;
String shorter = t;
if (s.length() < t.length()) {
longer = t;
shorter = s;
}
for (int i = 0; i < shorter.length(); i ++) {
if (shorter.charAt(i) != longer.charAt(i)) {
return shorter.substring(i).equals(longer.substring(i + 1));
}
}
return true;
}
}
}Last updated