亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

面試題 4 :替換空格

2019-11-06 06:02:44
字體:
來源:轉載
供稿:網友

題目:請實現一個函數,把字符串中的每個空格替換成”%20”。例如:輸入”we are happy.”,則輸出”we%20are%20happy.”

思路分析: 我們比較替換之前與替換之后的字符串長度,很明顯,字符串長度增加了4,所以,第一點,將”we are happy.”用一個字符指針指向肯定不可行,那么就應該將其放入一個數組中。其次我們就應該考慮如何輸出想要的結果。 1.題目沒有給出要求,那么有一種笨的辦法就是將字符串逐漸賦值到另外一個數組中,遇到空格就給新的數組插入”%20”,這樣也可以輸出結果。這樣的時間復雜度和空間復雜度都是O(N)。但是想一想,這是一道面試題啊,怎么可能如此簡單。 2.利用兩個數組的做法顯然被pass掉了,那只能在一個數組內操作了。既然數組長度擴大了,我們可以想成每個空格后邊的字符都向后移動了一定的位置,空出來的位置剛好夠插入”%20”。我們畫張圖來解釋一下: 這里寫圖片描述

上邊這種方法的時間復雜度還不是讓人最滿意的,應該有一種最好的辦法既能讓時間復雜度降低還能達到預期目標。 如果我們每次能將移動的字符一次性放好位置,那樣就比較方便了。因此我么需要提前知道增加長度后數組的大小,那么我們就能給出兩個下標,一個指向新字符串的末尾,一個指向舊字符串的末尾,從后向前遍歷一邊,就能實現每次都將字符一次性放好位置。 這里寫圖片描述 時間復雜度分析:由于從后往前只需要遍歷一次數組,其時間復雜度為O(N) 代碼:

#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>//時間復雜度:O(N)void Replace(char* str,int old) { char* start = str; int blacknum = 0; int newlen = 0; int PRev = 0; int last = 0; if ((str == NULL) || (old < 0)) { return ; } while (*start != '/0') { start++; if (*start == ' ') { blacknum++; //統計空格的個數 } } newlen = old+blacknum*2; //替換后新的字符串長度 prev = old; last = newlen; while (prev >= 0) { str[last--] = str[prev--]; if (str[prev] == ' ') { str[last--] = '0'; str[last--] = '2'; str[last--] = '%'; prev--; } }}

底下為測試代碼:

int main(){ char str[] = "we are happy"; int len = strlen(str); Replace(str,len); printf("%s/n",str); system("pause"); return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久人成影片一区二区三区| xxav国产精品美女主播| 中文字幕精品一区久久久久| 欧美性高潮床叫视频| 欧美在线不卡区| 97热在线精品视频在线观看| 国产激情久久久久| 97精品国产97久久久久久| 韩国19禁主播vip福利视频| 国内精品久久久| 欧美区在线播放| 国产亚洲成av人片在线观看桃| 精品国产1区2区| 日韩视频在线一区| 欧美三级免费观看| 欧美中文字幕在线视频| 国产成人免费av电影| 国产欧美一区二区三区在线| 欧美日韩在线观看视频小说| 91午夜在线播放| 不卡在线观看电视剧完整版| 国产精品视频免费在线| 国产日韩综合一区二区性色av| 国产欧美日韩丝袜精品一区| 大荫蒂欧美视频另类xxxx| 91av视频在线观看| 日韩www在线| 日韩欧美a级成人黄色| 91理论片午午论夜理片久久| 日韩av综合网| 国产亚洲成av人片在线观看桃| 亚洲一区二区三| 欧美一区二区三区免费观看| 人九九综合九九宗合| 欧洲美女7788成人免费视频| 日本久久久久亚洲中字幕| 国内精品小视频| 日韩欧美精品免费在线| 奇米一区二区三区四区久久| 一区二区亚洲欧洲国产日韩| 亚洲女在线观看| 欧美激情一区二区三区久久久| 欧美日韩xxx| 中文字幕少妇一区二区三区| 欧美性猛交xxxx黑人猛交| 一本一本久久a久久精品综合小说| 国模吧一区二区| 亚洲人成在线一二| 亚洲国产精品电影| 欧美成人性生活| 中文字幕亚洲图片| 日韩成人在线网站| 日韩在线免费视频观看| 亚洲成人久久久久| 自拍视频国产精品| 日韩黄在线观看| 国产精品精品久久久久久| 成人免费视频在线观看超级碰| 亚洲精品久久久久久下一站| 国产成人av在线播放| 久久精品久久久久久国产 免费| 日本高清不卡在线| 亚洲free性xxxx护士白浆| 欧美日韩福利在线观看| 欧美激情成人在线视频| 57pao成人国产永久免费| 欧美激情免费视频| 爽爽爽爽爽爽爽成人免费观看| 亚洲精品影视在线观看| 亚洲欧美日韩精品久久奇米色影视| 欧美黄色片视频| 国产精品欧美一区二区| 在线成人免费网站| 欧美电影免费观看电视剧大全| 亚洲а∨天堂久久精品9966| 成人淫片在线看| 国产精品美女www| 国产精品久久久久久久天堂| 在线电影欧美日韩一区二区私密| 欧美日本高清视频| 亚洲成人a级网| 亚洲视频日韩精品| 日韩高清免费观看| 久久精视频免费在线久久完整在线看| 精品动漫一区二区| 欧美日韩中国免费专区在线看| 国内精品国产三级国产在线专| 久久免费精品视频| 91久久久久久国产精品| 日本成人精品在线| 日韩在线观看免费av| 亚洲欧美综合图区| 国产盗摄xxxx视频xxx69| 精品视频在线播放免| 国产精品久久久久久久久影视| 插插插亚洲综合网| 亚洲三级黄色在线观看| 欧美大片欧美激情性色a∨久久| 国产精品极品美女在线观看免费| 日韩av在线高清| 国语自产精品视频在线看| 亚洲欧洲在线播放| 国产精品一区二区电影| www.久久久久| 中文字幕无线精品亚洲乱码一区| 国产精品偷伦视频免费观看国产| 久久久久久久久久久久av| 亚洲女人初尝黑人巨大| 亚洲精品自拍第一页| 欧美成人午夜剧场免费观看| 最近日韩中文字幕中文| 亚洲a一级视频| 久久激情视频免费观看| 色中色综合影院手机版在线观看| 国产成人亚洲综合91精品| 亚洲精品女av网站| 亚洲欧美日韩精品久久| 亚洲japanese制服美女| 久久免费精品日本久久中文字幕| 亚洲人成伊人成综合网久久久| 亚洲xxxx做受欧美| 精品一区二区三区电影| 国产精品成人国产乱一区| 亚洲一区二区三区四区视频| 欧美在线观看日本一区| 2023亚洲男人天堂| 精品久久久久久电影| 91色中文字幕| 亚洲图片在线综合| 海角国产乱辈乱精品视频| 色综合久久悠悠| 亚洲人成免费电影| 午夜精品视频网站| 久久人人97超碰精品888| 97成人精品区在线播放| 国产成人福利夜色影视| 亚洲第一页中文字幕| 亚洲精品欧美一区二区三区| 日韩av在线导航| 美女久久久久久久| 91精品久久久久久久久久| 91久久在线观看| 中文国产成人精品久久一| 亚洲加勒比久久88色综合| 久久伊人91精品综合网站| 久久久影视精品| 91福利视频在线观看| 美日韩丰满少妇在线观看| 91久久久久久国产精品| 97超级碰碰碰久久久| 国产精品一二三视频| 国产在线精品成人一区二区三区| 国产一区二区在线免费| 国产精品一区二区电影| 国产精品久久久久久久久久久久| 国产日产欧美精品| 欧美精品在线免费观看| www日韩中文字幕在线看| 97精品伊人久久久大香线蕉| 亚洲福利视频免费观看| 国产精品久久久久久久一区探花| 欧美一性一乱一交一视频| 色婷婷久久一区二区| 91精品免费视频|