パブリック クラス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します。 } }