剑指offer-做题:1-3
剑指offer-做题
- 1.二维数组中的查找(用了三种方法解答)
- 2.替换空格
- 3.从尾到头打印链表
1.二维数组中的查找(用了三种方法解答)
描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
示例1
输入:7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
返回值:true
说明:存在7,返回true
示例2
输入:3,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
返回值:false
说明:不存在3,返回false
代码如下(示例):
bool Find(int target, vector<vector<int> > array) {//方法一:以vector版本的左下角为始点if(array.size()==0)return false;int row=array.size();int col=array[0].size();int x=row-1;int y=0;while(x>=0&&y>=0&&x<row&&y<col){if(array[x][y]==target)return true;else if(array[x][y]>target)x--;elsey++;}return false;//第二种方法:全局遍历if(array.size()==0)return false;int row=array.size();int col=array[0].size();for(int i=0;i<row;i++){for(int j=0;j<col;j++){if(array[i][j]==target)return true;}}return false;//第三种方法:以vector版本的右上角为始点if(array.size()==0)return false;int row=array.size();int col=array[0].size();int x=0;int y=col-1;while(x>=0&&y>=0&&x<row&&y<col){if(array[x][y]==target)return true;else if(array[x][y]>target)y--;elsex++;}return false;}
2.替换空格
描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
示例1
输入:“We Are Happy”
返回值:“We%20Are%20Happy”
代码如下(示例):
string replaceSpace(string s) {// write code hereint sz=s.size();//统计空格个数int count=0;for(int i=0;i<sz;i++){if(s[i]==' ')count++;}//计算总的长度:原来字符串长度+空格个数int len=sz+count*2;s.resize(len);//从后向前访问int end=len-1;int cur=sz-1;while(cur<end){if(s[cur]!=' ')s[end--]=s[cur];else{s[end--]='0';s[end--]='2';s[end--]='%';}cur--;}return s;}
3.从尾到头打印链表
描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
示例1
输入:{67,0,24,58}
返回值:[58,24,0,67]
代码如下(示例):
vector<int> printListFromTailToHead(ListNode* head) {vector<int>v;if(head!=NULL){v.insert(v.begin(),head->val);while(head->next!=NULL){v.insert(v.begin(),head->next->val);head=head->next;}}return v;}
剑指offer-做题:1-3相关推荐
- 剑指offer做题记录
1. 剑指 Offer 03. 数组中重复的数字 力扣 class Solution { public:int findRepeatNumber(vector<int>& nu ...
- 【LeetCode 剑指offer刷题】数组题2:57 有序数组中和为s的两个数(167 Two Sum II - Input array is sorted)...
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 57 有序数组中和为s的两个数 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是 ...
- 剑指offer(60-67题)详解
文章目录 60 把二叉树打印成多行 61 序列化二叉树 62 二叉搜索树第K个节点 63 数据流中的中位数 64 滑动窗口的最大值 65 矩阵中的路径 66 机器人的运动范围 67 剪绳子 欢迎关注个 ...
- 剑指offer(1-10题)详解
文章目录 01二维数组的查找 02替换空格 03从尾到头打印链表 04重建二叉树★ 05 用两个栈实现队列 06旋转数组的最小数字 07 斐波那契数列 08 跳台阶 09 变态跳台阶★ 10 矩阵覆盖 ...
- Day5.牛客网剑指offer 67题之43-54题(java代码)
文章目录 Day5.牛客网剑指offer 67题之43-54题 43.左旋转字符串 44.翻转单词顺序列 45.扑克牌顺序 46.孩子们的游戏 47.求1+2+...+n 48.不用加减乘除做加法 4 ...
- 剑指offer刷题笔记-篇2
文章目录 剑指offer 前言 机器人的运动范围 剪绳子 二进制中1的个数 数值的整数次方 从1到n的位数 移除链表元素 删除链表中重复的结点 *正则表达式匹配 *表示数值的字符串 调整数组顺序 链表 ...
- 剑指Offer 66题 python版本 汇总
牛客网剑指offer 66题汇总 (python) 有部分参考牛客网答案,部分为自己提交结果 1. 二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每 ...
- C++剑指offer刷题笔记
说明:本文是本人刷题后整理的剑指offer1-68题的题解笔记,编程语言为c++. 主要参考刷题笔记网址:leetcode剑指offer 次要参考刷题笔记网址:牛客剑指offer 剑指OFFER 面试 ...
- 【LeetCode 剑指offer刷题】树题6:28 对称二叉树(101. Symmetric Tree)
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 101. Symmetric Tree /** * Definition for a binary tree no ...
- 【LeetCode 剑指offer刷题】字符串题6:67 把字符串转成整数
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 67 把字符串转成整数 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符 ...
最新文章
- Cacti(一)之“better-cacti-templates”
- boost库shared_ptr实现桥接模式
- Service Unavailable HTTP Error 503. The service is unavailable.
- JavaScript得到鼠标指针相对于浏览器页面(或客户区)的水平坐标(兼容ie,ff)...
- linux 高性能日志,linux日志系统
- NOIP2017 Day1 T3 逛公园
- jQuery(非插件)制作商城放大镜效果
- mysql 定位字符串的位置
- 2018年苏大计算机考研872真题及解析
- 将.pem转换为.crt和.key
- 佳能尼康宾得等,说说查看各大单反品牌的快门次数方法
- 【Go语言刷题篇】Go完结篇函数、结构体、接口、错误入门学习
- 万字拆解江小白:新品牌做白酒,敢问路在何方?
- 802.11ac linux驱动下载,下载的驱动程序Realtek 8811CU Wireless LAN 802.11ac USB NIC 1030.22.0405.2017...
- 多线程与 “锁”
- ListView缓存机制小结
- RTTHREAD软件包目录
- Java 设计模式——中介者模式(行为型设计模式)
- 计算机应用基础数据处理教案,大学计算机应用基础教案
- 如何在ubuntu14.04上安装轻量级的Budgie桌面(v8)
热门文章
- When YoloV5 Meets Raccoon:手把手用Yolov5(v4.0)制作一个小浣熊捕捉apk
- 总结Linux系统压缩和解压文件指令——gzip/gunzip 指令、zip/unzip 指令、tar 指令
- css 多行文字超出部分省略号 一行文字超出部分省略号
- Intellij IDEA使用Maven搭建spark开发环境(scala)
- 豪杰信息杯I 湘潭oj1268-Strange Optimization
- Python拉勾网数据采集与可视化
- 计算机网络优化复习题目——选择、判断(仅供参考)
- goolge 地图地址位置解析
- 常用函数式接口:Consumer、Predicate、Function的方法说明解练习
- 南京睿督解读:ISO12944涂料防腐蚀等级分类及防腐蚀年限规定