文档内容
更多企业校园招聘笔试面试试题合集下载: http://bimian.xuanjianghui.com.cn/
去哪儿网 2014 笔试算法题汇总
1.写一个函数,转换相对路径为绝对路径,比如:/home/abs/../temp/new/../,输出路径为:/home/
temp。
参考代码:
1. //写一个函数,转换相对路径为绝对路径,比如:/home/abs/../temp/new/../,输出路径为:
/home/temp。
2. int RP2AP(const char* pInStr, char* pOutStr)
3. {
4. if (pInStr==NULL || pOutStr==NULL) return 0;
5.
6. string str = pInStr;
7. string strTemp;
8. vector vec_str;
9. string strOut="";
10.
11. int nPos1;
12. int nPos2;
13.
14. nPos1 = str.find("/", 0);
15. if (nPos1<0)
16. {
17. return -1;
18. }
19.
20. while(1)
21. {
22. nPos2 = str.find("/", nPos1+1);
23. if (nPos2>nPos1)
24. {
25. strTemp = str.substr(nPos1, nPos2-nPos1);更多企业校园招聘笔试面试试题合集下载: http://bimian.xuanjianghui.com.cn/
26. //如果不是/..,就放入vector里
27. if (strTemp!="/..")
28. vec_str.push_back(strTemp);
29. else//弹出上一个
30. {
31. vec_str.reserve(vec_str.size());
32. vec_str.pop_back();
33. vec_str.reserve(vec_str.size());
34. }
35. nPos1 = nPos2;
36. }
37. else
38. {
39. break;
40. }
41. }
42.
43. //循环赋值累加
44. for (int i=0; i