Single Number 문제풀이 - Java 사용
주어진 숫자 중에서 한 번만 쓰인 숫자를 찾는 문제!
이문제를 푸는 좋은 방법으로는 bit연산 중 XOR을 사용하는 방법이 있다.
class Solution {
public int singleNumber(int[] nums) {
int tmp = 0;
for(int i=0; i<nums.length; i++){
// 비트연산자 ^(XOR)사용. XOR연산자는 양쪽 비트가 서로 다른 경우에 1을,
// 같은 경우에는 0을 반환
/*
1. tmp = 2;
2. tmp = 0;
3. tmp = 1
*/
tmp = tmp ^ nums[i];
}
return tmp;
}
}
XOR을 사용하여 tmp 값이랑 비교했을때 자신의 값이 나오면 리턴
'LeetCode 알고리즘 문제풀이' 카테고리의 다른 글
[LeetCode-217] Contains Duplicate 문제풀이 - Java 사용 (0) | 2020.09.10 |
---|---|
[LeetCode-412] Fizz Buzz 문제풀이 - Java 사용 (0) | 2020.09.09 |
[LeetCode-141 ] Linked List Cycle 문제풀이 - Java 사용 (0) | 2020.09.07 |
[LeetCode-104 ] Maximum Depth of Binary Tree 문제풀이 - Java 사용 (0) | 2020.05.08 |
[LeetCode-344 ] Reverse String 문제풀이 - Java 사용 (0) | 2020.05.08 |