码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer

时间:2019-04-07 15:46:37      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:数组   void   list   solution   ++   offer   完成   result   bool   

1、在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

 1 class Solution {
 2 public:
 3     bool Find(int target, vector<vector<int> > array) {
 4  
 5         int row = (int)array.size();
 6         int col = (int)array[0].size();
 7         if (row == 0 || col == 0)
 8             return false;
 9         if (target < array[0][0] || target > array[row - 1][col - 1])
10             return false;
11         int i = row - 1;
12         int j = 0;
13         while (i >=0 && j <col)
14         {
15             if (array[i][j] > target)
16             {
17                 i--;
18             }
19             else if (array[i][j] < target)
20             {
21                 j++;
22             }
23  
24             else
25             
26                 return true;
27             
28         }
29          return false;
30     }
31 };

2、请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

 1 class Solution {
 2 
 3 public:
 4     void replaceSpace(char *str,int length) {
 5         int i=length-1,j,count=0;
 6         while(i>=0){
 7             if(str[i]== ){
 8                 for(j=length;j>=i;j--){
 9                     str[j+2]=str[j];
10                 }
11                 str[i]=%;
12                 str[i+1]=2;
13                 str[i+2]=0;
14                 length+=2;
15             }
16              i--;
17         }
18     }
19 
20     
21 };

3、输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

 1 class Solution {
 2 public:
 3     vector<int> printListFromTailToHead(ListNode* head) {
 4            vector <int>  result;
 5       stack<int> arr;
 6       ListNode* p=head;
 7       while(p!=NULL)
 8       {
 9        arr.push(p->val);
10        p=p->next;
11       }
12      int len=arr.size();
13      for(int i=0;i<len;i++)
14       {
15        result.push_back(arr.top());   
16        arr.pop();
17      }
18            return  result;
19         
20         
21     }
22 };

 

剑指offer

标签:数组   void   list   solution   ++   offer   完成   result   bool   

原文地址:https://www.cnblogs.com/yksgzlyh/p/10665561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!