从面试开始_数组的反转&字符串转数字
2016-12-01 00:04
351 查看
今天面试刚好问到这么一道。记录一下,顺便总结一些相关问题。
例如:
int a[]={1,2,3,4,5,6,7,8,9,10};
将其反转1到5元素进行反转。结果如下:
5,4,3,2,1,6,7,8,9,10
- 亲爱的代码
亲爱的代码:
数组反转
给定一个数组,并指出反转的初始索引和结束索引,编写此反转方法。例如:
int a[]={1,2,3,4,5,6,7,8,9,10};
将其反转1到5元素进行反转。结果如下:
5,4,3,2,1,6,7,8,9,10
- 亲爱的代码
#define GET_ARRAY_LEN(arr,len) {len=(sizeof(arr)/sizeof(arr[0]));} //不使用STL容器 void Reverse(int[] arr, int begin, int end) { int len; GET_ARRAY_LEN(arr,len) if(arr==NULL) { cout<<"数组为空"<<endl; return; } else if(begin<0||end<0||end>len) { cout<<"索引错误"<<endl; return; } while(begin<end) { int temp=arr[end]; arr[end]=arr[begin]; arr[begin]=temp; begin++; end--; } } //使用STL容器 void Reverse2(int[] arr, int begin, int end) { int len; GET_ARRAY_LEN(arr,len) if(arr==NULL) { cout<<"数组为空"<<endl; return; } else if(begin<0||end<0||end>len) { cout<<"索引错误"<<endl; return; } Stack<int> stack=new Stack<int>; int index=begin; while(begin<=end) { stack.push(arr[begin]); begin++; } while(index<=end) { arr[index]=stack.pop(); } }
字符串转数字
将传入的字符串返回成数字,注意正负数问题。亲爱的代码:
int string2Int(const sting str) { char* pStr=str.c_str(); char* head=pStr; int result=0; if(*pStr=='-'||*pStr=='+') { pStr++; } while(*pStr!=0) { if((*pStr<'0')||(*pStr>'9')) { break; } temp=temp*10+(*pStr-'0'); pStr++; } if(*head=='-') { temp=-temp; } return temp; }
相关文章推荐
- 编程之美的2.17,数组循环移位 & 字符串逆转(反转) Hello world Welcome => Welcome world Hello
- js 字符串和数组反转
- 面试之数组&字符串
- 编程实现:从字符中获取连续数组序列,如字符串"a1dl2iad9j3la5kudp7u9pn4blj8ap5u3e6ml9a"中可以得到的连续数字序列为1234556.【注】:只考虑一位,因此最长的数
- 面试,字符串内查找数字,数组保存
- 函数功能:传入一个数组,返回数组中第二大数。已知数组中的对象都是数字构成的字符串,且任意两元素不相等。 如传入:@[@"1",@"2",@"3",@"4"],返回@"3"
- <笔试><面试>编写一个排序函数,实现,既可以排序整形数组,又可以排序字符串。
- 去除字符串两端的空格&&将字符串反转&&将字符串转换为字符数组
- 20100706 学习记录:截取字符串最后一个字符 && asp textarea 多行数组分割处理
- 使用c语言解析字符串"176x144"中的数字
- Linux字符串123->数字123
- C#中怎么做到这样的stylevar["charset"]下标为字符串的数组?
- 笔试面试之反转字符串
- 反转字符串数组,异或交换两个值
- "显微镜"下细看字符串常量初始化数组和指针
- 用 Split 函数将有序字符串(如"A1,A2,A3,A4,A5,A6")分散拆开为数组
- 当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串
- 《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
- 对于字符串"121134sKDGU554",求原字符串的数字个数。并将重复字母去掉,输出新的字符串。
- 不用字符串数组将一整数转换为各个数字组成的int[]数组