leetcode错题点(不断更新)

1 int     2 string    3 char    4 链表    5 栈    6 数组

7 list    8 map    9 queue  10 Math    11 运算   12 其他

1、int

(1)int转int数组:先转成String s="1234";  s.charAt(0)-‘0’;第n个数组

(2)NestedInteger.isInteger()是否是数字

2、string

(1)string比较:tmp.compareTo("25")<=0

(2)输入:[3,30,34,5,9]输出: 9534330  res = new StringBuilder();

Lambda:   Arrays.stream(nums)   .boxed().map(x -> x.toString())   .sorted((x, y) -> (y + x).compareTo(x + y))   .forEach(x -> res.append(x));

(3)反转StringBuffer sb = new StringBuffer();

StringBuffer sb_rev =new StringBuffer(sb).reverse();

(4)转数组char[]  = String.toCharArray()

(5)split(":", -1) 和 split(":") 区别:如最后位是切割符,split(":") 不继续切分,split(":", -1) 继续切分

split(":")        ["0370","7334"]

split(":", -1)   ["0370","7334",""]

3、char

(1)char c = 2+‘a’

(2)是否字母或数字    Character.isLetterOrDigit(c )

(3)转小写Character.toLowerCase(c)

4、链表

(1)ListNode first = [1,2,3,4,5]  first.next = [2,3,4,5]

(6)ListNode dum = new ListNode()

    ListNode res = new ListNode(0, head);//?

5、栈

(1)Stack<Integer> stack = new Stack<Integer>();   stack.push/pop(ListNode.val); pop弹出栈顶

6、数组

(1)matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]. matrix[0].length =4  matrix.length =3

(2)int a[][] = new int[3][4];  //定义一个整型数组:3行4列

int row = a.length;  //获取行数---3行

int col = a[0].length;  //获取列数---4列

(3)int[] res = new int[];一定要指定size,不知道size的时候可以用ArrayList 代替,再遍历或转为数组

(4)  int[] arr2 = Arrays.copyOf(arr1, 3);   = {1, 2, 3};

int[] arr1 = {1, 2, 3, 4, 5};

(5)截取数组:Arrays.copyOfRange(res, 0, idx);比较数组Arrays.equals(str1, str2);

(6)数组排序:int [] nums;  Arrays.sort(nums);  

        Arrays.sort(intervals, (v1, v2) -> v1[0] - v2[0]); 按1,再按2排序

(7)按数字排列:Arrays.sort(strs, (x, y) -> (x + y).compareTo(y + x));  [3,30,34,5,9] :30,3,34,5,9

(8)数组复制到队列:String [] deData=data.split(",");  Queue<String> q = new LinkedList<>();

        Collections.addAll(q,deData);

(9)将nums2数组从下标0位置开始,拷贝到nums1数组中,从下标0位置开始,长度为len2+1

        System.arraycopy(nums2, 0, nums1, 0, len2 + 1);

7、list

(1)ArrayList<Integer> list = new ArrayList<>();   

for(int i = 0; i < list.size(); i++)   res[i] = list.get(i);  

或者:list.stream().mapToInt(Integer::intValue).toArray();   //性能不好

(2) linkList 有removeLast(),list木有

(3)linkedlist 有getFirst()   poll()弹出头

(4)转数组:List<String> res = new LinkedList<>();

String[] aa = res.toArray(new String[cc.length-1]);

(5)list在头部添加 list.add(0,root.val); 

int[][]  = list.toArray(new int[list.size()][2])   其中List<int[]> list = new ArrayList<>(len);

8、map

(1)map.getOrDefault(num, 0)比map.get(num),效率更高

getOrDefault:Map有这个key时,就用这个key值,没有就用默认值0

(2)hashmap效率低,不如array  1到26先放偶数,再放奇数

(3)map.containsKey(c)

(4)HashMap<String,List<String>> map = new HashMap<>() 变为List<List<String>>:

new ArrayList<List<String>>(map.values())

9、queue

(1)queue :peek()获取头

(2)PriorityQueue 特性,每次都peek,poll最小的那个 

(3)q.remove(); //删除队首 

(4)BlockingQueue<String> blockingQueue = new SynchronousQueue<>();

同步队列,没有容量,进去一个元素,必须等待取出来以后,才能再往里面放一个元素

10、Math

(1)Math.pow(x,y)函数求x的y次方  Math.pow(10, 3)=1000    (10, 2)=100

(2) Math.abs(a-b). 得绝对值

11、运算

(1)<< : 左移运算符,num << 1,相当于num乘以2

>> : 右移运算符,num >> 1,相当于num除以2

-12 >>> 3 就是右移三位,前面补零,-12 的二进制为:1111  1111  1111  1111  1111  1111  1111  0100;为:0001  1111  1111  1111  1111  1111  1111  1110

(2) &运算:129&128.

  129:10000001,128:10000000。高位开始比较得到,得10000000,即128.

12、其他

(1)、switch(val) {  

    case "+": stack.push(b + a); break;  

    default : stack.push(new Integer(val)); } 

(17) 二分法找mid = l+(r-l+1)/2  34题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343