반응형
https://leetcode.com/problems/reverse-string
xor 연산을 이용하여 두 수를 스왑하였습니다.
두 수 a와 b가 있을 때,
a = a^b
b = a^b^b = a
a = a^b^a = b
class Solution {
public:
void reverseString(vector<char>& s) {
for(int i=0; i<s.size()/2; i++) {
s[i] ^= s[s.size() - i - 1];
s[s.size() - i - 1] ^= s[i];
s[i] ^= s[s.size() - i - 1];
}
}
};
반응형
'Algorithm' 카테고리의 다른 글
LeetCode 260. Single Number III (1) | 2024.06.08 |
---|---|
LeetCode 3110. Score of a String (1) | 2024.06.08 |
LeetCode 2486. Append Characters to String to Make Subsequence (1) | 2024.06.08 |
LeetCode 409. Longest Palindrome (0) | 2024.06.08 |
LeetCode 2331. Evaluate Boolean Binary Tree (0) | 2024.05.18 |