
剑指offer
想当程序媛的秀妍
这个作者很懒,什么都没留下…
展开
-
剑指offer--二进制数中的1的个数
题目大意 解题思路 一个数减1之后的二进制与该数的二进制区别是最低位1变为0,然后后面的数全部变为1。将这个两个数做与运算的结果是将原数的最低位1以及以后的二进制位都置为0,也就是说将最低位的1变成了0,原二进制数中就会少了一位1,利用这个原理来统计二进制数中1的个数。 代码实现 public class Solution { public int NumberOf1(int n) { int count=0; while(n!=0){ co原创 2021-06-04 19:47:48 · 195 阅读 · 0 评论 -
剑指offer--矩阵覆盖
题目大意 解题思路 动态规划 代码实现 递归实现: public class Solution { public int rectCover(int target) { if(target<=2){ return target; } return rectCover(target-1)+rectCover(target-2); } } 动态规划: public class Solution { pub原创 2021-06-04 19:33:24 · 94 阅读 · 0 评论 -
剑指offer--从尾到头打印链表
题目大意 解题思路 非递归(头插法)实现 遍历链表,每次在取出一个元素插入ArrayList的0位置。 递归实现 代码实现 非递归(头插法)实现 import java.util.ArrayList; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> arr=new ArrayList原创 2021-06-02 10:39:49 · 85 阅读 · 0 评论 -
剑指offer--替换空格
题目大意 解题思路 直接替换 使用replaceAll()函数直接将空格替换为%20. 分割字符串 使用split()函数将字符串进行分割。对字符串中的每个字符进行遍历,如果是空格就使用append()连接一个%20,如果不是就append原来的字符。 代码实现 直接替换 import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * *原创 2021-06-02 10:28:27 · 121 阅读 · 0 评论