Skip to content

Latest commit

 

History

History

study-algorithm

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

输入: [2,2,1]

输出: 1

解题思路:

  • 利用HashMap存储,key为每个数字,value为每个数字出现的次数。最后遍历map找到value为1的数字。
  • 利用位运算,根据a^a=0,a^0=a,出现两次的数字进行位运算会得0,所以最后剩下的那个数字就是出现一次的数字。

题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。

输入: [2,2,3,2]

输出: 3

解题思路:

  • 利用HashMap存储,key为每个数字,value为每个数字出现的次数。最后遍历map找到value为1的数字

题目:反转一个单链表。

输入: 1->2->3->4->5->NULL

输出: 5->4->3->2->1->NULL

解题思路:

  • 先定义一个为null的prevNote表示前置节点,然后在定义一个currNote等于headNote表示当前节点。循环遍历headNote节点,直到headNote.next为null结束。
  • 第一步获取currNote的下一个节点作为临时变量tempNote。
  • 第二步让当前节点currNote的下一个节点指向prevNote。
  • 第三步设置prevNote为currNote。
  • 第四步设置currNote等于tempNote。