Skip to content
This repository was archived by the owner on Sep 20, 2023. It is now read-only.

Commit 9922387

Browse files
committed
946 finish
1 parent 1b91e53 commit 9922387

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

Algorithms/0946.validate-stack-sequences/validate-stack-sequences.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,22 @@ package problem0946
22

33
func validateStackSequences(pushed, popped []int) bool {
44
size := len(pushed)
5-
top, in, out := -1, 0, 0
65

7-
for in < size {
8-
if pushed[in] == popped[out] {
6+
stack := make([]int, size)
7+
top := -1
8+
9+
for in, out := 0, 0; in < size; in++ {
10+
if pushed[in] != popped[out] {
11+
top++
12+
stack[top] = pushed[in]
13+
} else {
914
out++
10-
for top >= 0 && pushed[top] == popped[out] {
15+
for top >= 0 && stack[top] == popped[out] {
1116
top--
1217
out++
1318
}
14-
} else {
15-
top++
1619
}
17-
in++
1820
}
1921

20-
return top == -1 && out == size
22+
return top == -1
2123
}

0 commit comments

Comments
 (0)