Rekursiv überprüfen, ob ein String symmetrisch ist

Möchte ich überprüfen, ob ein String hat passende Klammern, Klammern.

For example:
{}
()
[]

Ich kann es mit einem stack. Ich möchte es mit Rekursion. Ich war das Lesen der Antworten für eine ähnliche Frage und die Antworten wurden Rekursion gemischt und in einen Stapel. Ein Benutzer reagiert auf die Antworten, die sagen, dass die Rekursion ist auch ein Stapel, damit Ihre rekursive Methode sollte nicht auf einen Stapel in der Parameter-das macht Sinn für mich.

Ich habe ein großes problem, obwohl, ich bin auf der Suche, die durch den String rückwärts und immer das entfernen der letzten Stelle, die ich überprüfen, bis der String leer, so dass ich true zurück. Ich kann nicht Bild wie überprüfe ich für die einzelnen Teile, Klammern, Klammern oder Klammern, ohne dass ich einen zusätzlichen parameter in meine Methode zu halten, was ich Suche. Aber ich denke immer es muss einen einfacheren Weg, dies zu tun.

public boolean isBalanced(String in)
{
    if(in.isEmpty())
        return true;

    if(in.charAt(in.length()) == '}')
    {
        return recIsBalanced(in.substring(0, in.length()));
    }

    else if(in.charAt(in.length()) == ']')
    {

    }


    return recIsBalanced(in.substring(0, in.length()));
}
  • Nur aus Neugier. Was für einen Vorteil Sie versuchen, zu gewinnen tun Sie dies rekursiv statt iterativ?
InformationsquelleAutor | 2013-02-18
Schreibe einen Kommentar