Problema do LeetCode#1614
Maximum Nesting Depth of the Parentheses
Resolvido em 1 linguagemJava
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.
Os enunciados dos problemas pertencem ao LeetCode e estão em leetcode.com. Não temos vínculo com o LeetCode.