LeetCode 알고리즘 문제풀이

[LeetCode-136 ] Single Number 문제풀이 - Java 사용

줄라이퍼스트 2020. 5. 8. 01:00

 Single Number 문제풀이 - Java 사용

136.   Single Number
해당사이트는 영어로 되어있어 구글 번역기를 이용하여 번역을 하였다.

주어진 숫자 중에서 한 번만 쓰인 숫자를 찾는 문제!

이문제를 푸는 좋은 방법으로는 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 값이랑 비교했을때 자신의 값이 나오면 리턴