1. 程式人生 > 實用技巧 >面試題 01.05. 一次編輯

面試題 01.05. 一次編輯

public boolean oneEditAway(String first, String second) {
        int m = first.length();
        int n = second.length();
        if(Math.abs(m-n)>1) return false;
        if(m == 0 || n == 0) return true;
        if(m==n){
            //替換
            boolean b = false;
            for(int i = 0;i<m;i++){
                
if(second.charAt(i) != first.charAt(i)){ if(!b){ b = true; }else{ return false; } } } }else if(m<n){ //增加 int i = 0; int
j = 0; boolean b = false; while(i<m){ if(first.charAt(i) != second.charAt(j)){ if(!b){ b = true; j++; }else{ return false; } }
else{ i++; j++; } } }else{ //刪除 int i = 0; int j = 0; boolean b = false; while(j<n){ if(first.charAt(i) != second.charAt(j)){ if(!b){ b = true; i++; }else{ return false; } }else{ i++; j++; } } } return true; }