03.数组中重复的数字

image.png

需要注意的点:

1.判断数组是否存在空或者数组长度小于1的情况

  1. if( nums == null || nums.length < 0)
  2. return -1;

2.判断数组里面的数字是否在0~n-1范围内

  1. for( var i = 0 , length = nums.length ; i < length ; i++ ){
  2. if( nums[i] < 0 || nums[i] > length - 1 )
  3. return -1;
  4. }
  5. //将nums.length用变量保存会稍微快那么一点点

3.将整个数组重新排列
此处用到 array. sort() 方法

array.sort()

sort可以对数组进行顺序或者逆序的排序,这种排序会将原数据改变
默认情况下,sort()方法将按 字母和升序 将值作为字符进行排序

关于sort方法的不适用:

sort方法一般对于字符串都适用,但是在碰到两位及以上数组时会因为数字按字符串排序出现问题
示例:

  1. var arr = [1234,567,89];
  2. arr = arr.sort();
  3. //则输出为
  4. arr = [89,567,1234];//这里按首位的升序·排序

剑指 Offer 05. 替换空格

请实现一个函数,把字符串 s 中的每个空格替换成”%20”。
示例 1:
输入:s = “We are happy.”
输出:”We%20are%20happy.”
限制:
0 <= s 的长度 <= 10000

  1. var replace = function (s){
  2. return s.replace(/ /g , "%20);
  3. }

剑指 Offer 06. 从尾到头打印链表