私はこのわずかに変更されたバージョンのコードをここではJava Stack Balancingのために100回以上使用しています。Javaスタックブール出力のカスタマイズ?
import java.util.Stack;
public class Main {
public static String testContent = "{(a,b)}";
public static void main(String args[])
{
System.out.println(balancedParentheses(testContent));
}
public static boolean balancedParentheses(String s)
{
Stack<Character> stack = new Stack<Character>();
for(int i = 0; i < s.length(); i++)
{
char c = s.charAt(i);
if(c == '[' || c == '(' || c == '{')
{
stack.push(c);
}else if(c == ']')
{
if(stack.isEmpty()) return false;
if(stack.pop() != '[') return false;
}else if(c == ')')
{
if(stack.isEmpty()) return false;
if(stack.pop() != '(') return false;
}else if(c == '}')
{
if(stack.isEmpty()) return false;
if(stack.pop() != '{') return false;
}
}
return stack.isEmpty();
}
}
私は何をしたいのは、このようなことは「バランス」や「不均衡」の代わりに、真/偽のような出力なものであろうと出力をカスタマイズです。置き換えようとするとfalseが返されます。 「バランスの取れた」System.printlnがあれば、私には望ましくない出力ラインがたくさんあります。ここ1時間ほどで変化していて、私が探していた答えを見つけることができませんでした。どんな洞察?
System.out.println(balancedParentheses(testContent)? "平衡":不均衡 "); –
何らかの理由でこれを解決策としてマークすることはできませんが、間違いなくトリックでした。 – BEASTthisIndustry
@BEASTthisIndustryこれは、スタックオーバーフローでは、あなたは答えを受け入れることができます – Nayuki