摘要:
题目连接:86.分隔链表 思路:遍历一遍链表,将表中结点分为两类,一类是小于给定的x,另一类是大于等于x。输出结果时要考虑四种情况:输入的表头为空;没有小于x的节点;没有大于等于x的节点;既有小于x又有大于等于x的。 代码: /** * Definition for singly-linked li 阅读全文
摘要:
题目连接:39.组合总和 思路:暴力遍历。先对数组排序,在进行枚举。 代码: class Solution { private List<List<Integer>> res = new ArrayList<>(); public List<List<Integer>> combinationSum 阅读全文
摘要:
题目:下一个排列 思路:找规律。在字典序中,用在字典中出现的次序代表该字符的值,用直接连接字符,那么最小排列的字符串就是单调递增的一条直线。从最小排列开始逐渐增大排列,那么可以发现从直线的末端开始,会不断的出现顶点并向前延伸,直到直线变成了单调递减。可以发现每一次增大的排列都是末端顶点向前移动。为了 阅读全文
摘要:
题目链接:复杂链表复制 思路:哈希表。先遍历一遍用hash表存储新旧链表对应的结点,然后再遍历一遍通过哈希表确定新链表中random所指向的结点。 代码: /* // Definition for a Node. class Node { int val; Node next; Node rando 阅读全文