题解 | #从尾到头打印链表#

数组中只出现一次的两个数字

http://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8

位运算
import java.util.*;
public class Solution {
    public int[] FindNumsAppearOnce (int[] array) {
        int num = 0;
        for (int x : array) {
            num ^= x;
        }
        int flag = num & (-num);
        int num1 = 0;
        int num2 = 0;
        for (int x : array) {
            if ((flag & x) == 0) {
                num1 ^= x;
            } else {
                num2 ^= x;
            }
        }
        return  num1 > num2 ? new int[]{num2,num1}:new int[]{num1,num2};
    }
}


全部评论

相关推荐

03-03 19:02
已编辑
东华理工大学 Node.js
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务