美文网首页
LeetCode题解:136. 只出现一次的数字,哈希表,Jav

LeetCode题解:136. 只出现一次的数字,哈希表,Jav

作者: Lee_Chen | 来源:发表于2023-04-05 11:49 被阅读0次

原题链接:
https://leetcode.cn/problems/single-number/

解题思路:

  1. 遍历nums,使用Set保存第一次遇到的数字。
  2. 如果第二次遇到相同数字,将其从Set中删除。
  3. 最终Set中只会留下一个数字,即为只出现了一次的数字。
/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function (nums) {
  let set = new Set() // 使用哈希表保存遍历时遇到的数字

  for (const num of nums) {
    // 如果遇到出现过的数字,将其从Set中删除
    if (set.has(num)) {
      set.delete(num)
    } else {
      // 第一次遇到的数字,将其加入Set
      set.add(num)
    }
  }

  // 最终Set中只剩下一个只出现过一次的元素
  return [...set][0]
}

相关文章

网友评论

      本文标题:LeetCode题解:136. 只出现一次的数字,哈希表,Jav

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