leetcode剑指offer 简单题

这篇博客探讨了LeetCode中的一些基础算法问题,包括字符串空格替换、链表逆序打印、双栈实现队列、斐波那契数列与青蛙跳台阶问题,以及旋转数组的最小数字查找。文章详细解析了解题思路和代码实现中的关键细节,适合初学者巩固数据结构与算法基础。
摘要由CSDN通过智能技术生成

05 替换空格

  • 获取String类的长度方法是string.length(),不是string.length
  • 定义一个 StringBuilder类不需要定义长度,直接StringBuilder s=new StringBuilder()
  • 对StringBuilder对象添加字符,用方法s.append(" "或char型)
  • StringBuilder类转换成String类,用方法s.toString()

06 从尾到头打印链表

  • 用数组输出链表需要注意:

    1.找到链表的长度len,用while(p!=null),用while(p)会报错——ListNode无法被转换为Boolean;
    2.遍历链表将值存入数组,res[i]=p.val,p=p.next,不要忘了后一句将p指针后移;

  • 用ListNode输出链表需注意:
    1.需要三个指针,一个是head,一个是newhead,一个是next;
    2.head和next用来遍历旧链表,newhead用来固定新链表的头部
    3.head和next对换实现头删旧链表作用,head和newhead对换实现新链表头插法。
    4.while(head!=null)
    {
    next=head.next;
    head.next=newhead;
    newhead=head;
    head=next;
    }

09.用两个栈实现队列

  • 思路
    在这里插入图片描述

  • 代码实现需注意的细节

// Stack的定义和初始化
Stack<Integer> stack1;
stack1=new Stack<>();

10-1斐波那契数列

  • 思路
    在这里插入图片描述

  • 代码实现需注意的细节

// 定义数组
int[] dp=new [n+1];
//题目要求对结果取模
 dp[i]=(dp[i-1]+dp[i-2])%1000000007;

10-2青蛙跳台阶问题

  • 思路
    在这里插入图片描述
  • 细节
    n=0时,有1种跳法。

11旋转数组的最小数字

  • 思路
    153题是原题,中等题,154题是延伸,简单题。(我猜分类好像反了吧,原题更简单一些)在这里插入图片描述
  • 细节
// 在划分区域时,mid在while循环外定义更省空间
//如果连用两个if,在153题数组无重复元素时能通过用例,但154题用if else更严谨
	int mid=0;
    while(low<high){
            mid=low+(high-low)/2;
            if(numbers[mid]<numbers[high]) high=mid;
            else if(numbers[mid]>numbers[high]) low=mid+1;
            else high--;
     }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
经导师精心导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。 经导师精心导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。 经导师精心导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。 经导师精心导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值