LeetCode练习
zxz8023
这个作者很懒,什么都没留下…
展开
-
LC 把字符串转换成整数
把字符串转换成整数写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。注意:假如原创 2020-11-08 18:35:16 · 189 阅读 · 1 评论 -
LC 剑指 Offer 06. 从尾到头打印链表
从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。算法思想很简单,遍历链表,将遍历的每个节点放入一个栈中,直到遍历整个链表,然后将栈中的节点的值依次出栈放入一个数组即可。 Stack<ListNode> s=new Stack<>(); while(head!=null){ s.push(head); head=head.next; } int原创 2020-11-08 14:49:53 · 161 阅读 · 0 评论 -
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 · 188 阅读 · 0 评论 -
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 · 255 阅读 · 0 评论 -
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 · 279 阅读 · 0 评论 -
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 · 102 阅读 · 0 评论 -
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 · 207 阅读 · 0 评论 -
LC 翻转字符串里的单词
翻转字符串里的单词给定一个字符串,逐个翻转字符串中的每个单词。说明:无空格字符构成一个 单词 。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。public String reverseWords(String s) { StringBuilder sb = new StringBuilder(); if(s == null || "".equals(s.trim())){原创 2020-11-02 15:01:33 · 315 阅读 · 0 评论