美文网首页前端开发那些事儿
字节跳动,腾讯大厂面试题——力扣(136),只出现一次的数字

字节跳动,腾讯大厂面试题——力扣(136),只出现一次的数字

作者: 纯粹的少年 | 来源:发表于2020-09-05 17:44 被阅读0次

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
例如:
输入: [4,1,2,1,2]
输出: 4

解题思路

  • 从题意上看,会给定我们能一个只有一项不重复的数组。我们可以先取出这个数组的一项,然后在从这个数组中检索是否有这个数字。
  • 如果没有这个数字的话,我们就直接将值返回。
  • 如果有这个数字的话,那么我们就直接把这个数字删除,然后再次执行这个函数,采取递归的方法来判断。

代码

var singleNumber = function (nums) {
    // 先取出数组的一项
    var a = nums.shift(0);
    // 然后在检索剩下的内容是否有这一项
    if (nums.indexOf(a) === -1) {
         // 没有就返回
        return a;
    } else {
        // 有的话就删除这个数,再次执行
        nums.splice(nums.indexOf(a), 1);
        return singleNumber(nums)
    }
};

相关文章

网友评论

    本文标题:字节跳动,腾讯大厂面试题——力扣(136),只出现一次的数字

    本文链接:https://www.haomeiwen.com/subject/goefektx.html