-
[LeetCode] 344. Reverse String c++Coding Test/LeetCode 2022. 12. 26. 16:49728x90
- 문제
Write a function that reverses a string. The input string is given as an array of characters s.
You must do this by modifying the input array in-place with O(1) extra memory.
Input: s = ["h","e","l","l","o"] Output: ["o","l","l","e","h"]
input으로 주어지는 벡터 s의 요소들의 순서를 반대로 뒤집는 문제입니다.
- 문제 해결
class Solution { public: void reverseString(vector<char>& s) { reverse(s.begin(), s.end()); } };
다른 풀이
class Solution { public: void reverseString(vector<char>& s) { int i = 0, j = s.size() - 1; while( i < j){ swap( s[i++], s[j--]); } } };
다른 풀이2
stack을 사용한 문제 풀이입니다.
class Solution { public: void reverseString(vector<char>& s) { stack<char> st; for(const auto& it: s){ st.push(it); } s.clear(); while(!st.empty()){ char ch = st.top(); st.pop(); s.emplace_back(ch); } } };
728x90'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 876. Middle of the Linked List c++ (0) 2022.12.26 [LeetCode] 557. Reverse Words in a String III c++ (0) 2022.12.26 [LeetCode] 167. Two Sum II - Input Array Is Sorted c++ (0) 2022.12.26 [LeetCode] 283. Move Zeroes c++ (0) 2022.12.24 [LeetCode] 606. Construct String from Binary Tree c++ (0) 2022.12.24