這幾天找實習被打擊的太厲害了,從今天開始修煉算法。在Leetcode找了半天,只有這一道題會,順手AC掉。
題目描述:有一個數組,裡面的數幾乎都是成對出現的,但有一個數只有一個,你的任務就是找出這個單個的數。
思路:按位異或直接搞定。
貼上代碼吧,特別簡單
public class Solution { public int singleNumber(int[] A) { for(int i=1; i < A.length; i++) { A[0]^=A[i]; } return A[0]; } }
a^=b^=a^=b