- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 LC 把字符串转换成整数
把字符串转换成整数写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。注意:假如
2020-11-08 18:35:16
208
原创 LC 剑指 Offer 06. 从尾到头打印链表
从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。算法思想很简单,遍历链表,将遍历的每个节点放入一个栈中,直到遍历整个链表,然后将栈中的节点的值依次出栈放入一个数组即可。 Stack<ListNode> s=new Stack<>(); while(head!=null){ s.push(head); head=head.next; } int
2020-11-08 14:49:53
176
原创 LC 反转字符串中的单词 III
反转字符串中的单词 III给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例输入:“Let’s take LeetCode contest”输出:“s’teL ekat edoCteeL tsetnoc”public String reverse(String s) {//反转字符串 StringBuilder str=new StringBuilder(); int len=s.length()-1; for(;len
2020-11-08 14:16:48
212
原创 LC 杨辉三角 II(返回杨辉三角的第n行)
#杨辉三角 II public List<Integer> getRow(int rowIndex) { int[][] array=new int[rowIndex+1][rowIndex+1]; List<Integer>l=new ArrayList<>(); for(int i=0;i<rowIndex+1;i++) { for(int j=0;j<=i;j++) { if(j==0||j==i)array[i
2020-11-05 11:44:05
276
原创 LC 杨辉三角(返回杨辉三角的前n行)
杨辉三角给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 public List<List<Integer>> generate(int numRows) { List<List<Integer>>nums=new ArrayList<List<Integer>>(); int[][] array=new int[numRows][numRows]; for(int i=0;i<
2020-11-05 11:19:23
297
原创 LC 长度最小的子数组
长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。示例:输入:s = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。 public int minSubArrayLen(int s, int[] nums) { int min = Integer.MAX_VALUE; for
2020-11-05 11:14:39
112
原创 LC 两数之和 II - 输入有序数组
两数之和 II - 输入有序数组给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1和index2,其中index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。public int[] twoSum(int[] numbers, int target) { int index1=0; int index2=
2020-11-04 09:34:38
232
原创 LC 翻转字符串里的单词
翻转字符串里的单词给定一个字符串,逐个翻转字符串中的每个单词。说明:无空格字符构成一个 单词 。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。public String reverseWords(String s) { StringBuilder sb = new StringBuilder(); if(s == null || "".equals(s.trim())){
2020-11-02 15:01:33
339
原创 LC零矩阵
LC 零矩阵编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。算法思想:设计与给定二位数组同等大小的初始零矩阵,遍历原矩阵,只要遇到0,就给零矩阵相同位置作加一操作直到遍历结束。然后遍历零矩阵,遇到不为零的位置将原矩阵相同位置置为0,然后输出原矩阵即可。public void setZeroes(int[][] matrix) { int m=matrix.length,n=matrix[0].length; int [][] zero=new int [m]
2020-11-02 11:59:14
231
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人