• 牛客刷题——剑指offer


     💟💟前言

    🥇作者简介:友友们大家好,我是你们的小王同学😗😗

    🥈个人主页:小王同学🚗

    🥉 系列专栏:牛客刷题专栏📖

    📑 推荐一款非常火的面试、刷题神器👉点击跳转进入网站

    觉得小王写的不错的话 麻烦动动小手 点赞👍 收藏⭐  评论📄

    今天给大家带来的刷题系列是:剑指offer

     

     

     里面有非常多的题库 跟面经知识 真的非常良心了!!

    今天给大家带来的是 刷题 剑指offer里的题目

    剑指offer里的题目绝大部分都是面试常考题目 

    所以我们要熟练地刷上几遍

    JZ6 从尾到头打印链表🏀

    从尾到头打印链表

    题目描述🥌:

     

    解题思路:

    两种方法

    1.用线性表把节添加到里面 最后创建一个新的线性表 倒着输出即可

    2.栈 的实现 根据栈后进先出的特点!

     代码实现🏀:

    方法1:

    1. /**
    2. * public class ListNode {
    3. * int val;
    4. * ListNode next = null;
    5. *
    6. * ListNode(int val) {
    7. * this.val = val;
    8. * }
    9. * }
    10. *
    11. */
    12. import java.util.ArrayList;
    13. public class Solution {
    14. public ArrayList printListFromTailToHead(ListNode listNode) {
    15. ArrayList list =new ArrayList<>();
    16. while(listNode!=null){ //头结点不为空的情况下
    17. list.add(listNode.val); //把结点的值都添加进list中
    18. listNode=listNode.next; //往后遍历
    19. }
    20. ArrayList ans =new ArrayList<>();
    21. int n=list.size();
    22. for(int i=n-1;i>=0;i--){ //逆序输出
    23. ans.add(list.get(i));
    24. }
    25. return ans;
    26. }
    27. }

     这一声清脆响亮的声音 我直接过辣~~

    方法2:

    1. import java.util.*;
    2. /**
    3. * public class ListNode {
    4. * int val;
    5. * ListNode next = null;
    6. *
    7. * ListNode(int val) {
    8. * this.val = val;
    9. * }
    10. * }
    11. *
    12. */
    13. import java.util.ArrayList;
    14. public class Solution {
    15. public ArrayList printListFromTailToHead(ListNode listNode) {
    16. ArrayList list= new ArrayList<>();
    17. Stack stack =new Stack<>();
    18. while(listNode!=null){
    19. stack.push(listNode.val);
    20. listNode=listNode.next;
    21. }
    22. while(!stack.empty()){ //如果栈不为空就打印
    23. list.add(stack.pop()); //将list添加栈顶元素出站并返回
    24. }
    25. return list;
    26. }
    27. }

     

     过~~~~辣~~~

     JZ5 替换空格🛶

    替换空格

    题目描述🥽

    解题思路⏳:

    java中字符串本身就是不能修改的 我们可以创建一个StringBuilder对象

    对内容进行添加操作 

    1. import java.util.*;
    2. public class Solution {
    3. /**
    4. * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
    5. *
    6. *
    7. * @param s string字符串
    8. * @return string字符串
    9. */
    10. public String replaceSpace (String s) {
    11. StringBuilder sb= new StringBuilder();
    12. for(int i=0;i
    13. char ch=s.charAt(i);
    14. if(ch==' '){ //遇到空格 就追加%20
    15. sb.append("%20");
    16. }else{
    17. sb.append(ch); //没有就添加遍历的字符
    18. }
    19. }
    20. return sb.toString(); //返回字符串格式
    21. // write code here
    22. }
    23. }

    还可以用java 自带的replaceAll方法更简单!

     

    1. import java.util.*;
    2. public class Solution {
    3. /**
    4. * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
    5. *
    6. *
    7. * @param s string字符串
    8. * @return string字符串
    9. */
    10. public String replaceSpace (String s) {
    11. // write code here
    12. return s.replaceAll(" ","%20");
    13. }
    14. }

     过 过 过 辣~~~~

     JZ4 二维数组中的查找

    题目描述♟:

     

    解题思路:

    由于行列递增,可以得出:
    a.在一列中的某个数字,其上的数字都比它小
    b.在一行中的某个数字,其右的数字都比它大

     

    1. public class Solution {
    2. public boolean Find(int target, int [][] array) {
    3. int n=array.length;
    4. if(n==0) return false;
    5. boolean flag=true;
    6. for(int i=0;i
    7. for(int j=0;j
    8. if(array[i][j]==target){ //找到就返回true
    9. return true;
    10. }else if(array[i][j]>target) //大于的话 就break
    11. break;
    12. else if(array[i][0]>target)
    13. //如果第一列的元素大于target那么后面不可能找到taget
    14. flag=false;
    15. }
    16. if(!flag) break;
    17. }
    18. return false;
    19. }
    20. }

     过辣~

    牛客的oj测试也是非常好用的 还有代码补全功能 acm机制 简直绝绝子!

    还等什么 快注册起来跟小王同学一起刷题吧(doge)

     

  • 相关阅读:
    聊一聊作为高并发系统基石之一的缓存,会用很简单,用好才是技术活
    记录一次Powerjob踩的坑(Failed to deserialize message)
    软件测试流程
    代码可读性,前置检查、注释及总结
    SEO的优化教程(百度SEO的介绍和优化)
    【LeetCode】【剑指offer】【二叉树的镜像】
    深度学习常见损失函数总结+Pytroch实现
    Python 遗传算法 Genetic Algorithm
    [centos]centos7源码编译cmake报错Could NOT find OpenSSL
    mysql问题汇总
  • 原文地址:https://blog.csdn.net/weixin_59796310/article/details/125871405