首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成Kotlin中的Parentheses

生成Kotlin中的Parentheses
EN

Stack Overflow用户
提问于 2022-06-22 06:29:03
回答 1查看 108关注 0票数 -1

我想要创建一个程序来显示n对括号的所有有效安排。输出应该是一个按ASCII值的升序排序的数组。下面是需要使用的函数。

代码语言:javascript
复制
fun solution(n: Array<String>): Array<String> {
    
}

我试过用这个,但不能使它符合上面的功能,

代码语言:javascript
复制
fun balancedBracket(result: String, 
                         size: Int, 
                         open: Int, 
                         close: Int): Unit
    {
        if (close == size)
        {
            // When get the result of parentheses in given size
            println(result);
            return;
        }
        if (open < size)
        {
            // Add open parentheses
            this.balancedBracket(result + "(", 
                                 size, open + 1, close);
        }
        if (open > close)
        {
            // Add close parentheses
            this.balancedBracket(result + ")", 
                                 size, open, close + 1);
        }
    }

输入:n=3输出:“(())”、"()(())“、”()“

请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2022-06-22 10:54:17

代码语言:javascript
复制
fun printParentheses(size: Int) {

  fun inner(chars: String, size: Int, open: Int, close: Int) {
    if (close == size) {
      println(chars)
      return
    }
    if (open < size) {
      inner("$chars(", size, open + 1, close)
    }
    if (open > close) {
      inner("$chars)", size, open, close + 1)
    }
  }

  if (size > 0) {
    inner("", size, 0, 0)
  }
  
}

printParentheses(3)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72710641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档