括号在scala中平衡

cod*_*die -5 scala

我得到了一个使用scala平衡括号的作业.我写了这段代码:

def balance(chars: List[Char]): Boolean = {

def check(sent: List[Char], count: Int): Int =
  if (sent.isEmpty)
    count
  else if (sent.head == '(')
    check(sent.tail, count + 1)
  else if (sent.head == ')')
    check(sent.tail, count - 1)
  else
    check(sent.tail, count)

     check(chars, 0) == 0 }
Run Code Online (Sandbox Code Playgroud)

但是这个代码无法"())(" 实现这个代码的正确吗?

Dav*_*ith 5

没有提供任何代码,只是澄清可能的规范.您的所有代码都在计算右侧和左侧的数量,并确保它们是相等的.这是一个必要条件,但还不够.对于平衡括号,您还需要显示当您浏览字符串时,'(您看到的'的数量必须始终大于或等于'的数量).