Carregando

Problema do LeetCode#1614

Maximum Nesting Depth of the Parentheses

Resolvido em 1 linguagemJava

Resolver no LeetCode(abre em uma nova aba)

Solução

47 linhas
1// import java.util.Stack;
2
3class Solution {
4    // Without stack
5    // time O(n)
6    // space O(1)
7    public int maxDepth(String s) {
8        int counter = 0;
9        int maximum = 0;
10
11        for (int i = 0; i < s.length(); i++) {
12            if (s.charAt(i) == '(') {
13                counter++;
14                if (counter > maximum) {
15                    maximum = counter;
16                }
17            }
18            else if (s.charAt(i) == ')') {
19                counter--;
20            }
21        }
22
23        return maximum;
24    }
25
26    // Using stack
27    // time O(n)
28    // space O(n)
29    // public int maxDepth(String s) {
30    //     Stack<Character> stack = new Stack<Character>();
31    //     int maximum = 0;
32
33    //     for (int i = 0; i < s.length(); i++) {
34    //         if (s.charAt(i) == '(') {
35    //             stack.push(s.charAt(i));
36    //             if (stack.size() > maximum) {
37    //                 maximum = stack.size();
38    //             }
39    //         }
40    //         else if (s.charAt(i) == ')') {
41    //             stack.pop();
42    //         }
43    //     }
44
45    //     return maximum;
46    // }
47}

Quer uma explicação desta solução em Java?

Receba uma explicação passo a passo da ideia por trás do código.

Todos os problemas

Os enunciados dos problemas pertencem ao LeetCode e estão em leetcode.com. Não temos vínculo com o LeetCode.