320x100
문제 : https://leetcode.com/problems/reverse-only-letters/
문자열 S를 앞에서부터 탐색하면서 문자라면 스택에 넣고 문자가 아니라면 큐에 넣는다.
모두 탐색했다면 다시 한 번 문자열 S를 탐색하면서 정답 문자열을 만든다.
2번째 탐색때 문자라면 스택의 top에서 문자를 꺼내 정답 문자열 뒤에 붙인다.
문자가 아니라면 큐의 front에서 기호를 꺼내 정답 문자열 뒤에 붙인다.
시간복잡도는 O(|S|).
소스코드 : https://gist.github.com/fpdjsns/2c4c2a29c1ff9037b27b81b4033f8daf
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[leetcode][62] Unique Paths (0) | 2018.10.29 |
---|---|
[leetcode][929] Unique Email Addresses (0) | 2018.10.28 |
[leetcode][921] Minimum Add to Make Parentheses Valid (0) | 2018.10.28 |
[LeetCode][926] Flip String to Monotone Increasing (0) | 2018.10.27 |
[Leetcode][915] Partition Array into Disjoint Intervals (0) | 2018.10.26 |
댓글