1奇偶排序
在一個(gè)N個(gè)整數(shù)數(shù)組里面,有多個(gè)奇數(shù)和偶數(shù),設(shè)計(jì)一個(gè)排序算法,令所有的奇數(shù)都在偶數(shù)的左邊
例如輸入a={8,4,1,6.7,4,9.6,4}
2叉數(shù)降維
設(shè)計(jì)一個(gè)算法,把一個(gè)排序二叉樹,轉(zhuǎn)化成一個(gè)排序的雙向鏈表,要求不能創(chuàng)建任何新的節(jié)點(diǎn),只調(diào)整指針指向
java:
class Node{
int key;
Node left,right;
}
Node flatten(Node){
。。。。。。
}
二叉樹轉(zhuǎn)雙向鏈表
3 四則運(yùn)算
現(xiàn)有一四則運(yùn)算表達(dá)式,僅包含+-*/()和0~9數(shù)字,請(qǐng)?jiān)O(shè)計(jì)一個(gè)算法,計(jì)算該表達(dá)式的值,其中+-只能作為運(yùn)算符出現(xiàn),不作為正負(fù)號(hào)出現(xiàn)在表達(dá)式中
請(qǐng)完成calc的代碼實(shí)現(xiàn)
已有字符串和數(shù)字的轉(zhuǎn)換方法(Str2num,num2Str)可直接調(diào)用,無須實(shí)現(xiàn)
C++:
float str2num(char[] str){....}
char[] num2str(float num){}
float calc(char[] exp){
''''''''
}
java
float str2num(String str){....}
String num2str(float num){.......}
float calc(String exp){
''''''''''''
}
例如輸入“1+2*(3-4)”
輸出-1
設(shè)計(jì)測試用例測試Calc函數(shù)