标签:
Given two strings S and T, determine if they are both one edit distance apart.
[分析]
delete, add, replace 三种都是 One edit distance. delete 和add 两个string长度差1, replace相同长度.
[注意]
None
[CODE]
public class Solution { public boolean isOneEditDistance(String s, String t) { if(s==null || t==null) return false; if(Math.abs(s.length() - t.length())>1) { return false; } if(s.length() == t.length()) { int count = 0; for(int i=0; i<s.length(); i++) { if(s.charAt(i) != t.charAt(i)) ++count; if(count > 1) return false; } return count==1; } else { String ss,ls; if(s.length() < t.length() ) { ss = s; ls = t; } else { ss = t; ls = s; } int i=0, j=0; int count = 0; while(i<ss.length() && j<ls.length()) { if(ss.charAt(i) != ls.charAt(j) ) { ++count; ++j; if(count > 1) return false; } else { ++i; ++j; } } return true; } } }
leetcode 161: One Edit Distance
标签:
原文地址:http://blog.csdn.net/xudli/article/details/42340867