844 - バックスペース文字列の比較

パブリック クラスBackspaceStringCompare {
     / * 
    ソリューション1:アイデアの積み重ね、経験の#、その後、スタック:最初からスキャンします。
     * / 
    パブリック 静的 ブールbackspaceCompare(S文字、文字列T){
         戻りのgetString(S).equals(のgetString(T))を; 
    } 
    プライベート 静的文字列のgetString(文字列S){ 
        StringBuilderのSB = 新しい新規のStringBuilder();
         のためチャーCH :s.toCharArray()){
             IF(CH = '#'! 
                sb.append(CH)、
            他の IF(sb.lengthは()> 0 
                sb.deleteCharAt(sb.length() -1 ); 
        } 
        を返すsb.toStringを(); 
    } 
    / * 
    対処方法2:尻尾をスキャン:#は次のない、遭遇しました。
     * / 
    パブリック 静的 ブールbackspaceCompare2(S文字、文字列T){
         戻りのgetStringを(S).equals(のgetString(T)); 
    } 
    プライベート 静的文字列のgetString(文字列S){ 
        StringBuilderのSB = 新しい新規のStringBuilder();
         int型 COUNT = 0 ;
         チャーC;
         のためのINT I = s.length() - 1; I> = 0; i-- ){
            C = s.charAt(I)。
             IF(C == '#' 
                カウント ++ ;
            他に{
                 場合(> 0をカウント
                    カウント - ;
                
                    sb.append(C); 
            } 
        } 
        を返す)(sb.toStringします。
    } 
}

 

おすすめ

転載: www.cnblogs.com/zhangyuhao/p/11608263.html