描述
牛客项目发布项目版本时会有版本号,比如1.02.11,2.14.4等等
现在给你2个版本号version1和version2,请你比较他们的大小
版本号是由修订号组成,修订号与修订号之间由一个"."连接。1个修订号可能有多位数字组成,修订号可能包含前导0,且是合法的。例如,1.02.11,0.1,0.2都是合法的版本号
每个版本号至少包含1个修订号。
修订号从左到右编号,下标从0开始,最左边的修订号下标为0,下一个修订号下标为1,以此类推。

比较规则:
一. 比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较忽略任何前导零后的整数值。比如"0.1"和"0.01"的版本号是相等的
二. 如果版本号没有指定某个下标处的修订号,则该修订号视为0。例如,“1.1"的版本号小于"1.1.1”。因为"1.1"的版本号相当于"1.1.0",第3位修订号的下标为0,小于1
三. version1 > version2 返回1,如果 version1 < version2 返回-1,不然返回0.

数据范围:
1<=version1.length,version2.length<=10001 <= version1.length, version2.length <= 10001<=version1.length,version2.length<=1000
version1 和 version2 的修订号不会超过int的表达范围,即不超过 32 位整数 的范围

进阶: 空间复杂度 O(1)O(1)O(1) , 时间复杂度 O(n)O(n)O(n)
添加链接描述

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 比较版本号* @param version1 string字符串 * @param version2 string字符串 * @return int整型*/public int compare (String version1, String version2) {// write code hereint n1=version1.length();int n2=version2.length();int i=0;int j=0;while(i<n1||j<n2){long num1=0;while(i<n1&&version1.charAt(i)!='.'){num1=num1*10+(version1.charAt(i)-'0');i++;}
i++;long num2=0;while(j<n2&&version2.charAt(j)!='.'){num2=num2*10+(version2.charAt(j)-'0');j++;}j++;if(num1>num2){return 1;}if(num1<num2){return -1;}}return 0;}
}

添加链接描述
描述
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

数据范围:二叉树的节点数量满足 1≤n≤100 1 \le n \le 100 \ 1≤n≤100 ,二叉树节点的值满足 1≤val≤100 1 \le val \le 100 \ 1≤val≤100 ,树的各节点的值各不相同
规定了int类型 所以这样不行。要返回一个值
还是得那样子去弄
int[] res = new int[]
添加链接描述
创建数组
在这里插入代码片

import java.util.*;/** public class TreeNode {*   int val = 0;*   TreeNode left = null;*   TreeNode right = null;*   public TreeNode(int val) {*     this.val = val;*   }* }*/public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param root TreeNode类 * @return int整型一维数组*/public int[] preorderTraversal (TreeNode root) {// write code hereList<Integer> list=new ArrayList();preOrder(list,root);int [] res=new int[list.size()];for(int i=0;i<list.size();i++){res[i]=list.get(i);}return res;}public void preOrder(List<Integer> list,TreeNode root){if(root==null){return ;}list.add(root.val);preOrder(list,root.left);preOrder(list,root.right);}}

添加链接描述
描述
给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。

数据范围: 0≤n≤10000\leq n\leq10000≤n≤1000
要求:空间复杂度 O(1)O(1)O(1) ,时间复杂度 O(n)O(n)O(n) 。

如当输入链表{1,2,3}时,
经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。

在这里插入代码片

/*
public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}*/
public class Solution {public ListNode ReverseList(ListNode head) {if(head==null){return null;}
ListNode prev=null;
ListNode cur=head;
while(cur!=null){ListNode cur_next=cur.next;cur.next=prev;prev=cur;cur=cur_next;}
return prev;}
}

bm22 bm23 bm1相关推荐

  1. BM22 比较版本号

    描述 牛客项目发布项目版本时会有版本号,比如1.02.11,2.14.4等等 现在给你2个版本号version1和version2,请你比较他们的大小 版本号是由修订号组成,修订号与修订号之间由一个& ...

  2. 【FasterVIT】试图从FasterVIT网络结构中窥探

    题解 | #查找山东大学或者性别为男生的信息# # select device_id,gender,age,gpa from user_profile as a where a.university ...

  3. 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr...

    问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1",序列Y=& ...

  4. 父子表关联在窗体中的绑定显示和浏览

    private BindingManagerBase bm1 = null;private BindingManagerBase bm2 = null; private void DataScanIn ...

  5. 面试不怂之redis与缓存大全

    基础篇 问题:什么是redis? Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源.包含多种数据结构.支持网络.基于内存.可选持久性的键值对存储数据库,其具备 ...

  6. 动态规划解决方案最长公共子序列问题(开启)

     动态规划 常常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题.简单地採用把大问题分解成子问题.并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数添加. 为 ...

  7. zillow房价预测

    数据介绍 该项目是Data Castle上的美国King County房价预测训练赛,用到的数据取自于kaggle datasets,由@harlfoxem提供并分享,但是只选取了其中的子集,并对数据 ...

  8. 20145234黄斐《信息安全系统设计基础》第九周学习总结(课本部分)

    课本知识概述 I/O设备(输入input与输出output)是在主存和外部设备之间拷贝数据的过程 1.UNIX I/O 一个UNIX文件就是一个m个字节的序列:B0,B1,--,Bm-1: 执行方式: ...

  9. Oracle的PL/SQL编程前奏之基础技能实战一(匿名子程序)

    Oracle的PL/SQL编程之基础技能实战一 一>基础代码检查检查以bm_开头的系统初始化编码表是否有空值.与业务系统相关的编码项不能存在空值,会导致系统业务无法办理.为初始化数据表.在做测试 ...

最新文章

  1. 家中电脑无法共享,联通域名解析劫持竟是罪魁
  2. iPhone/Mac Objective-C内存管理教程和原理剖析(二)口诀与范式转
  3. C#求数组中元素的全排列
  4. 今天面了个腾讯的大佬,让我见识到了基础的天花板!
  5. iOS开发--正则表达式
  6. 星露谷服务器一直没有空闲位置,星露谷物语小镇地图全npc住址位置 经验告诉你该这样...
  7. 新手快速入门自动化测试第一步
  8. 关于汇编语言和IL的异同点
  9. python怎么用numpy_Python:一篇文章掌握Numpy的基本用法
  10. ImageJ Merge荧光图片
  11. 旧稿 - 我与张树新共事创业的年代 - 张树新马云
  12. 基金指数温度怎么算_投资指数基金的奇技淫巧——指数温度实战详解
  13. 深度学习21天实战caffe学习笔记《3 :准备Caffe环境》
  14. 5000元的电视机推荐 5000元75寸高性价比电视推荐
  15. html设计应用程序,软件工程师-20个HTML5应用程序设计示例(10页)-原创力文档
  16. SAP 批导长文本字段自动和手动换行
  17. Unity3D计时器制作
  18. 2021-07-20 快捷键学习
  19. Leetcode-111 二叉树的最小深度(递归)
  20. 更改无线网卡mac地址后,无法连接到此无线网卡分享的热点

热门文章

  1. Fortran编程:(三)数据类型
  2. 理解-1NF,2NF,3NF
  3. 马来西亚理科大学计算机专业雅思,马来西亚理科大学本科雅思成绩要求
  4. iOS CAAnimation 详解
  5. Python+PyCharm+PyTorch+Cuda/GPU 安装步骤
  6. mac系统共享服务器,mac 链接共享服务器
  7. Sublime的实用汉化方法
  8. 牛顿法与拟牛顿法学习笔记(一)牛顿法
  9. 单片机应用系统设计技术——数控云台master
  10. studiolibrary安装_初学者daz studio中文基础安装布局教程