摘要: 题目:给你一个整数 n,请你每隔三位添加点(即 "." 符号)作为千位分隔符,并将结果以字符串格式返回。 思路:先算出要加入点的个数,再找出每个点插入的位置 代码: class Solution { public String thousandSeparator(int n) { if(n0){ r 阅读全文
posted @ 2020-11-11 10:30 for_ward 阅读(118) 评论(0) 推荐(0)
摘要: 题目:定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 解法:双指针 思路:让i指向开始,j指向末尾,同时开始找字母,找到后再判断是否相等即可,当i>=j时结束即可 代码: //回文串是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串 cl 阅读全文
posted @ 2020-11-10 19:41 for_ward 阅读(80) 评论(0) 推荐(0)
摘要: 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I" 解法一:双指针 思路:从后往前找单词的边界,用i指向单词的前一个位置,j指向单词的末尾 代码: 阅读全文
posted @ 2020-11-10 16:44 for_ward 阅读(57) 评论(0) 推荐(0)
摘要: 题目:输入两个链表,找出它们的第一个公共节点。 解法一:利用HashSet,比较捞 解法二:双指针 思路:两个链表长度分别为m+C、n+C, C为公共部分的长度,第一个人走完一轮后,回到第二个人起点走n步;第2个人走了n+C步后,回到第一个人起点走m步。 此时它们因走的步数相同而相遇。 代码: /* 阅读全文
posted @ 2020-11-08 21:11 for_ward 阅读(45) 评论(0) 推荐(0)
摘要: 题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 解法一:借助栈 思路:栈的特点是先进后出,java有stack类 代码: /** Definition for singly-linked list. public class ListNode { int val; Lis 阅读全文
posted @ 2020-11-08 20:02 for_ward 阅读(45) 评论(0) 推荐(0)
摘要: 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法 解法一:动态规划(自顶向下) 代码: class Solution { int[] t; //存储到n级阶梯的走法 public int numWays(int n) { t = new int[ 阅读全文
posted @ 2020-11-08 15:49 for_ward 阅读(64) 评论(0) 推荐(0)
摘要: 题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 解法一:双指针(简单) 思路:直接让后一个指向前一个 解法二:递归 思路:将链表看作已经反转和还未反转两个部分 代码: /** Definition for singly-linked list. public clas 阅读全文
posted @ 2020-11-08 12:04 for_ward 阅读(34) 评论(0) 推荐(0)
摘要: 题目:给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。 思路:两个指针分别从头开始和从尾开始寻找山峰,山峰相同则是山脉数组 解法:双指针 代码: class Solution { public boolean validMountainArray(int[] A) 阅读全文
posted @ 2020-11-05 17:58 for_ward 阅读(64) 评论(0) 推荐(0)
摘要: 题目:统计一个数字在排序数组中出现的次数 解法一:二分法+遍历 思路:先用二分法确定target所在的区间[l,r],再逐个判断元素是否==target,遍历时会浪费一些不必要的时间 代码: class Solution { public int search(int[] nums, int tar 阅读全文
posted @ 2020-11-05 11:33 for_ward 阅读(61) 评论(0) 推荐(0)
摘要: 题目:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 思路: 一个萝卜一个坑 代码: class Solution { public int findRepea 阅读全文
posted @ 2020-11-04 23:26 for_ward 阅读(37) 评论(0) 推荐(0)