ARTS是什么?
Algorithm:每周至少做一个 leetcode 的算法题
Review:阅读并点评至少一篇英文技术文章
Tip:学习至少一个技术技巧
Share:分享一篇有观点和思考的技术文章
Algorithm
反转字符串中的单词III:
解法1:采用字符串流
class Solution {
public:
string reverseWords(string s) {
string ret = "";
string tmp = "";
istringstream is(s);
while(is>>tmp){
reverse(tmp.begin(), tmp.end());
ret += tmp + " ";
}
ret.pop_back();
return ret;
}
};
解法2:采用双指针
class Solution {
public:
string reverseWords(string s) {
int len = s.length();
int first = 0, end = 0;
while(first < len && end < len){
while(end<len&&s[end]!=' ') end++;
for(int i=first, j=end-1; i<j; ++i,--j){
swap(s[i], s[j]);
}
first = end + 1;
end++;
}
return s;
}
};
Review
本文主要讲了OSI模型和TCP/IP模型并不吻合,OSI模型是什么?你可以从以下三个方面思考这个问题:
- 对TCP/IP如何工作进行解释;
- 一个抽象模型,你可以用来描述和比较不同种类的网络协议;
- 1980年左右用来描述计算机网络协议,现在几乎不怎么使用了。
Tip
awk用法:
awk是一种解释型编程语言,主要用于处理文本文件。之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。