美文网首页
剑指offer

剑指offer

作者: 我是谁的小超人 | 来源:发表于2018-03-02 11:52 被阅读0次
    • 第一题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
    class Solution {
    public:
        bool Find(int target, vector<vector<int> > array) {
            if(array.size()!=0)
            {
                int row = 0;
                int col = array[0].size() - 1;
                while(row<array.size() && col>= 0)
                {
                    if(array[row][col]==target)
                        return true;
                     else if(array[row][col]>target)
                         --col;
                     else
                         ++row;
                }
            }
            return false;
        }
    };
    
    • 第二题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
    class Solution {
    public:
        void replaceSpace(char *str,int length) {
            if(str == NULL || length <= 0)
                return;
            int originalLength = 0;
            int numOfBlank = 0;
            for(int i = 0;str[i] != '\0';++i)
            {
                ++originalLength;
                if(str[i]==' ')
                    ++numOfBlank;
            }
            int newLength = originalLength + 2*numOfBlank;
            if(newLength > length)
                return;
            int indexOfOriginal = originalLength;
            int indexOfNew = newLength;
            while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal)
            {
                if(str[indexOfOriginal] == ' ')
                {
                    str[indexOfNew --] = '0';
                    str[indexOfNew --] = '2';
                    str[indexOfNew --] = '%';
                }
                else
                {
                    str[indexOfNew --] = str[indexOfOriginal];
                }
                -- indexOfOriginal;
            }
                 
        }
    };
    //i++是后缀运算,就是先取出i的值,i再+1;++i是前缀运算,就是i先+1,再取i的值。
    

    相关文章

      网友评论

          本文标题:剑指offer

          本文链接:https://www.haomeiwen.com/subject/jhfaxftx.html