leetcode606题,这个式子又是如何完成遍历的呢?C++

https://leetcode-cn.com/problems/construct-string-from-binary-tree/

 class Solution {
public:
    string tree2str(TreeNode* t) {
        if (!t) return "";
        string res = to_string(t->val);
        if (!t->left && !t->right) return res;
        res += "(" + tree2str(t->left) + ")";
        if (t->right) res += "(" + tree2str(t->right) + ")";
        return res;
    }
};

if (!t->left && !t->right) return res; 这里判断根节点至少有左和右子节点。

res += "(" + tree2str(t->left) + ")"; 这里只看里根节点下第一个左节点啊?

怎么玩成整个树的遍历的呢?

0

3个回答

这好像是递归吧,你看下一个if不就是对右子树是否存在进行判断嘛,这样左右就都走到了

0
zhxue_11
zhxue_11 你好,过程是这样的,首先判断他有没有子节点,如果有子节点,进入res += "(" + tree2str(t->left) + ")";把左边子节点变成字符,然后进入if (t->right) res += "(" + tree2str(t->right) + ")";,这里把右边子节点变成字符,之后直接就return里啊,哪里递归了呢?
10 个月之前 回复

这是递归 递归你可以去了解一下,就是自己调用自己,首要的就是要在函数内部添加 一个停止条件, 否则就是列循环,
有个故事: 从前有座山,山里有座庙,庙里有个老和尚在讲故事讲的是:从前有座山,山里有座庙,庙里有个老和尚在讲故事讲的是从前有座山,山里有个庙……
这个就个递归 没有停止条件,

0
xingjianfengaa
xingjianfengaa 回复: 递归到2的时候 你看函数它遍历 left 然后right ,你这个函数就是先从最底层的分叉开始 找了左找右,然后往上一个节点,再找左 然后右
10 个月之前 回复
xingjianfengaa
xingjianfengaa 回复zhxue_11: 首先遍历 1 1下面就2res += "(" + tree2str(t->left) + ")", 2->4 4下面没东西 2里面的 res += "(" + tree2str(t->left) + ")";结束 返回4人上一层 2 接着2的右侧5,5这里if (t->right) res += "(" + tree2str(t->right) + ")";也返回 现在整个2返回 也就是1的res += "(" + tree2str(t->left) + ")";结束 然后到了 1 right遍历 一次类推
10 个月之前 回复
zhxue_11
zhxue_11 回复xingjianfengaa: 哦哦,这里OK了,然后这句话结束返回到1。1右边存在,到达3,3有右边7,7没有右边,返回3。这时候他怎么遍历到6这个点的呢?判断左边的这句话在right上2行啊
10 个月之前 回复
xingjianfengaa
xingjianfengaa 回复zhxue_11: 如自己(0)调用 自己(1),自己(1)调用自己(2)……自己(n-1)调用自己(n),在第n层结束后,函数会依次返回到自己(0)
10 个月之前 回复
xingjianfengaa
xingjianfengaa 你要搞清楚 res += "(" + tree2str(t->left) + ")";,递归到4,没有左边分支了。现在答案是1(2(4))这个结束后 t-right是3,不是4的分支,你这一个递归调用结束后,函数会返回到最开始进入那一层,即t是1
10 个月之前 回复
zhxue_11
zhxue_11 回复xingjianfengaa: 你好,我现在是这么理解的。二叉树就是满的三层。[1,2,3,4,5,6,7]。非空,1变成str。左右至少有一个,进入 res += "(" + tree2str(t->left) + ")";,递归到4,没有左边分支了。现在答案是1(2(4)),进入下一步,4没有右孩子,跳过。所以返回1(2(4))。这是我的理解,哪里错了呢?
10 个月之前 回复
xingjianfengaa
xingjianfengaa 上面 瞎扯, res += "(" + tree2str(t->left) + ")"; if (t->right) res += "(" + tree2str(t->right) + ")";这不是左右都有吗,只是右里加了个if判断
10 个月之前 回复
xingjianfengaa
xingjianfengaa 自己(0)调用 自己(1),自己(1)调用自己(2)……自己(n-1)调用自己(n)明白怎么循环了不,你的这个函数也是这样的,一个结点一个结点的传到tree2str中,直到触发if 停止条件,然后一层一层的返回到第一层
10 个月之前 回复

res += "(" + tree2str(t->left) + ")";
if (t->right) res += "(" + tree2str(t->right) + ")";
左右都有了哦。
if (!t) return ""; 本身为空
if (!t->left && !t->right) return res; 左右都没有
经过这两个筛选,那么就是要做左右都有,要么有左要么有右
这个应该是满二叉树,不存在没有左有右的情况,所以
res += "(" + tree2str(t->left) + ")"; 这里不判断
if (t->right) 这里判断下是不是只有左

0
zhxue_11
zhxue_11 你好,我现在是这么理解的。二叉树就是满的三层。[1,2,3,4,5,6,7]。非空,1变成str。左右至少有一个,进入 res += "(" + tree2str(t->left) + ")";,递归到4,没有左边分支了。现在答案是1(2(4)),进入下一步,4没有右孩子,跳过。所以返回1(2(4))。这是我的理解,哪里错了呢?
10 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
这个又是为什么呢?
rn这样写是对的:rn rnShellExecute(this->Handle,"open","whg.exe",NULL,NULL,SW_SHOWNORMAL);rnrn可是我这个样子就不对了rnrnAnsiSring path;rnrnpath = "whg.exe"rnrnShellExecute(this->Handle,"open",path,NULL,NULL,SW_SHOWNORMAL);rnrnrn为什么呢?
这个程序又是怎么回事呢
源程序:rnrnimport java.awt.*;rnimport java.applet.*;rnpublic class lp1 extends Appletrnrn carton carton_1=null;//declare this is a carton examplern public void start()rn rn if (carton_1==null)//if example not intailizedrn rn carton_1=new carton(getGraphics(),this);//intailized or notrn carton_1.start();//start or notrn rn rn public void paint(Graphics g)rn update(g);rn public void update(Graphics g)rn rn public void stop()rn rn carton_1.stop();//example stop?rn carton_1=null;//free the resourcern rn //key press eventrn public bollean keyDown(Event e,int key)rn rn if (key==Event.UP)//if keypress is uprn carton_1.set_direction(0);//bollean is truern if (key==Event.DOWN)//if keypress is downrn carton_1.set_direction(1);//bollean is truern if (key==Event.LEFT)//if keypress is leftrn carton_1.setdirection(2);//bollean is truern if (key==Event.RIGHT)//if keypress is rightrn carton_1.setdirection(3);//boolean is truern if (key=='s')rn rn carton_1.gamerun=true;carton_1.position_x=170;carton_1.position_y=320;rn return true;rn rn //key up eventrn public boolean keyUP(Event e,int key)rn rn if (key==Event.UP)//if key up is uprn carton_1.clear_direction(0);//boolean up is falsern if (key==Event.DOWN)//if key is downrn carton_1.clear_direction(1);rn if (key==Event.LEFT)rn carton_1.clear_direction(2);rn if (key==Event.REGHT)rn carton_1.clear_direction(3);rn if (key=32)rn carton_1.fire_wanna_switch(true);rn return true;rn rn rn //player's classrn class carton extends Thread rnrn rn Graphics g,off_screen=null;rn boolean up=false,down=false,left=false,right=false;rn boolean img_now_switch=true;rn boolean fire_wanna=false;rn int position_x=170,position_y=320,pos_x,pos_y;rn int i=0,j=0,k_left=0,k_right=0;rn int bullet_amount_left=0;rn int bullet_amount_right=0;rn int bullet_position_left[][]=new int[301][2];rn int plane_died=-1;rn int enemy_lose=0,enemy_bullet_lose=0;rn int enemy[][]=new int[31][2];rn int enemy_bullet[][]=new int[31][2];rn int enemy_dx[]=new int[31];rn int enemy_bullet_dx[]=new int[31];rn int enemy_amount=0,enemy_bullet_amount=0;rn int enemy_plane=0,enemy_ball=0;rn int enemy_status[]=new int[31];rn int enemy_bullet_status[]=new int[31];rn Image img_center,img_right,img_left;rn Image img_now;rn Image map;rn Image enemy_image,enemy_bullet_image,flame,ball;rn int mapposX=50,mapposY=50;rn Image bullet_left,bullet_right;rn Image off_screen_buffer=null;rn Applet applet;rn int sleep_time=30;rn MediaTracker track;rn Rectangle enemy_rect[]=new Rectangle[31];rn Rectangle enemy_bullet_recnt[]=new Rectangle[31];rn boolean gamerun=false;rn int killtotalo=0;rn rn编译结果:出现一大堆的错rn 举两个例子: 第一行:lp1.java:24:can not reslove symbolrnsymbol : class bollean keydown(java.awt.graphics,lp1)rnlocation ;location:carton rnrn以下的都是和这个差不多。这是怎么回事 谢谢
这个式子有解吗?
求ijk + kji = 1333 的i , j , k的程序i、j、k是1位的整数。rn我的程序如下:rn#include rnrnvoid main ()rnrn int i = 1;rn int j = 0;rn int k = 1;rnrn for (; i <= 9; i++)rn for (; j <= 9; j++)rn for (; k <= 9; k++)rn if ((101 * (i + k) + 20 * j) == 1333)rn rn break;rn rn if (i == 10 && j == 10 && k == 10) rn rn cout << "无解" << endl;rn return;rn rn cout << "i = " << i << endl;rn cout << "j = " << j << endl;rn cout << "k = " << k << endl;rnrn cin.get ();rn return;rnrnrn但是显示 无解,rnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrn
关于这个式子
http://topic.csdn.net/u/20110816/19/3194c61c-fc4d-41ad-8357-9110d8cdc6b0.html?seed=1948313114&r=74997256#replyachorrnrn这个帖子,66楼的式子rnrnrn我试过这个式子,在a、b都不是0的情况下,最后的结果强制转换成int确实是较小的那个rnrnrnrn但是我数学不行,证明不了。。。。。rnrnrn1、这个式子的证明,或者说为什么他能得到正确结果吧rnrn2、为什么要乘了又除,如此反复
这个式子什么意思?
int iItem;char **ppSel;rnrnrn就是这个式子:rn *(*(ppSel)+iItem)=1;
这个式子怎么写??
数字大于28的加28,小于28的数不用加,怎么写这个式子?rnrnrn
这个xslt如何遍历动态内容呢?
一般的XML,我们用来显示visitName的值。rnrn但我们现在的这个XML,是动态生成的,其各层的结构是限定的,但层的具体内容则是变化的。例如:rnrn 涨三rn 2007-04-01rnrn另一个:rnrn 涨三rn 2007-04-01 13:12:00rn 301医院rnrnrn可以看到info里面的内容是多变的(并且不可枚举,它是动态定义的),那么我们在写xslt时,如何使得可对于info下的内容遍历并输出呢?rn
请问如何化简下面这个式子
(AD+a)(BE+b)(CF+c)+(Ad+a)(Be+b)(Cf+c),凡是小写字母都表示其大写字母的上方加一“非”号。rn即(AD+a)表示AD加上A的非,依次类推。谢谢。
求解,如何求得这个式子的最大值
已知: rnA + B + C <= 6rn3 * A + 2 * B + C <= 9rn2 * A + B + 3 * C <= 16rn求:rnP = 48 * A + 32 * B + 64 * C 的最大值!!!rn各位大虾有什么好的方法吗??求救!!!
下面这个式子值是多少?
(int)max/5+2rn如果max=3,值是多少?rn还有这个式子的运算顺序是怎样的啊?
急!这个式子怎么得到得?
两个光电经纬仪的交汇测量,[img=http://b22.photo.store.qq.com/http_imgload.cgi?/rurl4_b=fbb378702b10bda095ec7ac014e109f22668b79a7ab2c89d2923f5b174d332bcb6b9452af11c7ec79db59e87b509b24ab464c9ce194bea6ed5338025ac9e10307051c06d3bddd9b4b13fd1ff5f46b7cf63ed8b29][/img]rn[img=http://b20.photo.store.qq.com/http_imgload.cgi?/rurl4_b=fbb378702b10bda095ec7ac014e109f20a91a2492a6fa87a35b1e7a4a4e219804191b38d3585c7418b8d8c7e26ffba1e195c08f04074a9357d1ac89bdbeaaf5425a7005a4e83795c347eefe013000128aa3cfe38][/img]rnrn阿尔法,和拉姆达分别是光电经纬仪的方位角和俯仰角。(x1,y1,z1)和(x2,y2,z2)分别为两经纬仪站址坐标,坐标系为发射坐标系。rn两个经纬仪交汇测量定出最后目标的方位x,y,zrnrnrn前面的m1,m2,K,l1,l2都不知道是怎么求的?麻烦大家帮忙
HashMap如何遍历呢?
Map map = new HashMap();rnIterator iter = map.entrySet().iterator();rnwhile (iter.hasNext()) rn Map.Entry entry = (Map.Entry) iter.next();rn Object key = entry.getKey();rn Object val = entry.getValue();rnrnrnrn我只有两个值,有什么方法会快点?简洁点rnmap.get("id");rnmap.get("value");
如何遍历CheckList呢?
如何遍历CheckList呢?
如何遍历Map>呢
Map> classAmount = new HashMap>();rn现在想遍历classAmount,取出每个string的list,请问该如何遍历呢。rn我试了,但是第一次遍历后取出的是Entry,无法转化到set.
这个SQL 如何完成!!
我这里有一条总表,一个子表.现在向主表更新一个回款金额的数据.现在如何向子表里加上回款金额??rnrnrn主表FCon如下: FConID 单据号;主键 rn FSumMoney 总金额rn FSumGetMoney 回款金额rnrn子表FCon_Sub如下: ID 流水号rn FConID 单据号rn FDate 计划回款日期rn FMoney 计划回款金额rn FGetMoney 回款rnrn现在想做一个触发器,当FSumMoney 更新时,把子表的FGetMoney更新了.rnrn业务型式是按计划回款日期,即先满足时间小的.回款计划是不定的.可能有一条,可能有四\五条.rnrn如: 单据号 为 F001 时rn 回款计划有: 2004-8-1 100rn 2004-9-1 500rn 2004-10-1 400rn 总金额为1000.rnrn 但是现在回款了500元. 按计划是得到的结果如下:rnrn 2004-8-1 100 100rn 2004-9-1 500 400rn 2004-10-1 400 0rnrnrn各位大虾,不知如何写好,是不是一定要用到邮标呢?? 不用行不行??
如何完成这个函数
要求:一个完成对数据表转置的函数rn我已经完成了函数的主体部分;表头我不会写rnfuction funtran(filename as String) as ?rn运行这个函数后;可以对Connection当中的数据表进行转置操作;生成一个名为“转置后的表”rnrnfuction funtran(filename as String) as object rn好象这里需要增加东西才行rnDim mycon As New ADODB.ConnectionrnDim myrecord As New ADODB.RecordsetrnDim myrecord1 As New ADODB.RecordsetrnDim x() As VariantrnDim myfield As VariantrnDim m As IntegerrnDim n As IntegerrnDim i As IntegerrnDim j As IntegerrnDim myselect As Stringrnmyselect = " select * from filename"rnSet mycon = CurrentProject.Connectionrnmyrecord.Open myselect, mycon, adOpenKeyset, adLockPessimisticrn rnrnrnmycon.Execute "create table newtable"rnm = myrecord.RecordCountrnn = myrecord.Fields.CountrnReDim x(0 To m + 1, 0 To n - 1)rnDebug.Print nrnFor i = 0 To n - 1rnx(0, i) = myrecord.Fields(i).NamernNext irni = 0rnWith myrecordrn Do While Not .EOFrn i = i + 1rn For j = 0 To n - 1rn x(i, j) = .Fields(j).Valuern Next jrn .MoveNextrn LooprnEnd WithrnrnFor i = 0 To mrn mycon.Execute "ALTER TABLE newtable ADD COLUMN " & x(i, 0) & " varchar(20) ;"rnNext irn mycon.Execute "ALTER TABLE newtable ADD COLUMN id integer ;"rnrnrnrnmyrecord1.Open "select * from newtable ", mycon, adOpenKeyset, adLockPessimisticrn For j = 1 To n - 1rn myrecord1.AddNewrn For i = 0 To m + 1rn If i = m + 1 Thenrn myrecord1.Fields(i).Value = jrn myrecord1.Updatern ElseIf i <> m + 1 Thenrn myrecord1.Fields(i).Value = x(i, j)rn myrecord1.Updatern Elsern End Ifrn Next irn myrecord1.MoveNextrn Next jrnFor i = 0 To mrn If i = 0 Thenrn myfield = myfield & "[" & myrecord1.Fields(i).Name & "]"rn ElseIf i <> 0 Thenrn myfield = myfield & ", " & "[" & myrecord1.Fields(i).Name & "]"rn Elsern End IfrnNext irnDebug.Print myfieldrnmycon.Execute "select " & myfield & " into 转置后的表 from newtable order by id "rnrnmyrecord.Closernmyrecord1.Closernmycon.ClosernSet myrecord1 = NothingrnSet mycon = NothingrnSet myrecord = NothingrnDoCmd.RunSQL "drop table newtable"rnrnEnd Subrn
这个式子是怎么算出来的
[img=https://img-bbs.csdn.net/upload/201508/21/1440147057_575412.png][/img]rn手写的,可以截图拍照上传,对积分不是很熟悉,所以发上来,希望大家帮忙解答下
这个绑定式子有错吗?
我用VB.NET,在ASP.NET 2.0中:rnrnrn提示出错:rn错误 1 “DataItem”不是“System.Web.UI.Page”的成员。 F:\WebSite\MyBinding.aspx 11rn错误 2 “DataItem”不是“System.Web.UI.Page”的成员。 F:\WebSite\MyBinding.aspx 1 1 F:\WebSite\rn rn不知何故,请高手帮忙,谢谢!!!
如何遍历这个数据库
数据库设计如下rnrnID(自增) Name(名字) ParentID(父级ID)rnrn1 张三 0rn2 李四 0rn3 王二 1rn4 赵六 1rn5 吴 3rn6 黄 3rn7 郑 4rn8 刘 3rn9 孟 8rnrnrnrn通过一段代码遍历这个数据表,父级ID表示其上一级ID,当访问张三的时候,希望显示其子集,效果如下:rnrn效果一,要求遍历所有子集,最深10层:rn张三 - | - 王二 - | - 吴rn | | - 黄rn | | - 刘 - | - 孟rn | - 赵六 - | - 郑 rnrn效果二,只显示到第二层,但是要显示10层以内总共子集数目:rnrn张三 - | - 王二 (4)rn | - 赵六 (1)
如何遍历这个json数组
以下是json数组的格式,如何用js或者jquery遍历出每个项rnvar array = "a": "abc", "b": [1, 2, 3, 4, 5, 6], "c": 3, "d": "name": "james", "age": 28 ;rnrnrn另外如何判断[]数组与对象呢?求解!
在xsl里如何写这个式子?
rnrn这句有错,怎么改??rnrn(count(/Items/Item)/3)*3是count(/Items/Item)除于3取正值再乘3
这个式子应该怎么写?
数字大于28的加28,小于28的数不用加,怎么写这个式子?
这个式子推得对不对啊
rn如果D = Math.Pow((Math.Pow((d - b), 2) + (8 * L * (b + w)) / Math.PI), 1 / 2) + 2 * b;rn那么L=Math.PI*(Math.Pow((D-2*b),2)-Math.Pow((d-b),2))/(8 *(b + w));rn对不对啊,我怎么都算不对啊
如何证明下面的式子
T(n)=8T(n/2)+O(n^2),证明出T(n)=O(n^3)。
.c和.cpp和exe的关系又是什么呢?
.c和.cpp和exe的关系又是什么呢?我看到有些原代码既有.c又有exe,是怎么回事?
C语言这个冒泡法如何理解呢?
for(a=1;a=a;--b)rnif(item[b-1]>item[b])rnt=temp[b-1];rnitem[b-1]=item[b];rnitem[b]=t;关键是两个for语句不是很理解~~怎么会是++a和--b呢
又是线程题。。。
1. public class Threads 1 rn2. intx=0;rn3. public class Runner implements Runnable rn4. public void run() rn5. int current = 0;rn6. for(int=i=0;i<4;i++)rn7. current = x;rn8. System.out.print(current + “, “);rn9. x = current + 2;rn10. rn11. rn12. rn13.rn14. public static void main(String[] args) rn15. new Threads1().go();rn16. rn17.rn18. public void go() rn19. Runnable r1 = new Runner();rn20. new Thread(r1).start();rn21. new Thread(r1 ).start();rn22. rn23. rnWhich two are possible results? (Choose two.)rnA. 0, 2, 4, 4, 6, 8, 10, 6,rnB. 0, 2, 4, 6, 8, 10, 2, 4,rnC. 0, 2, 4, 6, 8, 10, 12, 14,rnD. 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14,rnE. 0, 2, 4, 6, 8, 10, 12, 14, 0, 2, 4, 6, 8, 10, 12, 14,rn答案是AC,很不解,求高人解答,谢谢!rnrn
C语言:这个想法如何实现呢?
#includernmain()rnrnrn while((c=getchar())!=EOF)rn rn if(c=='\t')rn i++;rn if(c=='\b')rn j++;rn rnprintf("%d %d",i,j);rn、rn输入一串字符,统计\t(制表符),\b(退格符);rn但是貌似,这2格字符在输入的一个字符串中无法实现啊。?rn这个是书上的程序,rn谁可以提供,实现这个算法的源代码,谢谢啊rnrnrnrnrn
又是一个简单题
在BCB的inspector中有三页rn一页是property,一页是methordrn还有一页是datarn我想问的就是对于观察 "this"时rn1.这个Data 的内容是什么rn2.为什么单独将data拿出来rn3.为什么没有象VC中那样,分类显示,并且没有全局变量和局部变量rn4.为什么data中的东东大多以 "F.."开头,有什么意义么rnrnrn
又是一道题
描述rnrnrn接收从键盘输入的一个长度不超过100的以"."结束的英文句子。rnrn做如下处理:rnrn1、第一个单词的首字母处理为大写(其余字母均处理成小写)rnrn2、连续的空格合并成一个空格rnrn3、整个句子在一行中输出。rnrn输入rnrnrn处理前的一个英文句子rnrn输出rnrnrn处理后的句子rnrn样例输入rnrnthe Answer to life, the University, and everythigrnrnIS 42.rnrn样例输出rnrnThe answer to life, the university, and everythig is 42.rnrnrn#include rnusing namespace std;rnint main()rnrn int i=0, j;rn char c, str[100];rn dorn cin.get(c);rn str[i]=c;rn i++;rn while(c!='.');rn str[i]='\0';rn if(str[0]>='a')rn str[0]-=32;rn for(i=1;str[i]!='.';i++)rn if(str[i]>='A'&&str[i]<='Z')rn str[i]+=32;rn for(i=0;str[i+1]!='.';i++)rn rn if(str[i]==' '&&str[i+1]==' ')rn rn for(j=i+1;str[j]!='\0';j++)rn str[j]=str[j+1];rn i--;rn rn rnrn if(str[i]==' ')rn rn str[i]='.';rn str[i+1]='\0';rn rnrn for(i=0;str[i]!='\0';i++)rn if(str[i]!='\n')rn cout << str[i];rn rn cout << endl;rn rn return 0;rn rn交了很多次,老是说格式错误,我写的代码对样例输入的输出结果有问题吗?rn这几题都是搞了几遍都搞不出来的,刚那题一发上来就有大侠搞定,希望这个也能这么迅速:)
又是一道继承题
Question 73rnGiven: rn11. static classA rn rn12. void process() throws Exception throw new Exception(); rn13. rn14. static class B extends A rn15. void process() System.out.println("B ") //问题一:为什么在这儿不出错,我是这样想的:A类中process方法有throws Exception,所以继承类中应该与被继承保持一致,也就是应该加上throws Exception才对啊。所以答案我选了D。rn16. rn17. public static void main(String[] args) rn18.A a=new B(); rn19. a.process(); rn20. rnWhat is the result? rnA. B rnB. The code runs with no output. rnC. An exception is thrown at runtime. rnD. Compilation fails because of an error in line 15. rnE. Compilation fails because of an error in line 18. rnF. Compilation fails because of an error in line 19. rnAnswer: Frnrn问题二:我在eclipse中输入题目中的代码进行测试时,刚输入 static class A,就被提示:Illegal modifier for the class A; only public, abstract & final are permitted,是题目本来就有错吗?rn
hdu1312(又是简单搜索题)
A水题,找手感。 这一题也好简单,就是找一个区域内所有点的个数,边界有围墙,思路就是找到一个,就把它变成围墙,然后num+1,最后输出num,得到结果 话不多说,直接贴代码吧 #include using namespace std; char arr[25][25]; int m,n,num,dir[4][2]={{1,0},{0,1},{-1,0},{0,-1}}; void d
又是一道中程题
一个有两个作业管理进程的批处理系统,作业调度采用最高响应响应比优先的算法。rn进程调度采用基于优先数优先数大者优先)的算法。有以下作业序列:rn作业名 到达时间 估计运行时间 优先数rnA 10:00 50分 5rnB 10:20 60分 7rnC 10:50 40分 3rnD 11:20 80分 8rnE 11:40 30分 6rnF 12:00 70分 9
又是一个递归的题
一列数的规则如下:1、1、2、3、5、8、13、21、34......求第30位数是多少,用递归算法实现 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Pro...
这个题如何实现???
[img=http://p3.images22.51img1.com/6000/wangbaoqun2008/31b2aedfc0a785417fa21a7caa6944bc.jpg][/img]rn[color=#FF0000]这题是在《C语言深度剖析》书中看到的,[color=#00FF00]我不知道如何实现作者所说的各源文件负责自己的全局变量,并提供一对对外函数方便其它函数访问变量[/color]。请高手指点下,有例程就万分感谢啦![/color]
这个题如何求解?
写一个函数确定两个整数是否相等,不能使用比较运算符。
如何完成transient反序列化呢?
import java.io.FileInputStream;rnimport java.io.FileOutputStream;rnimport java.io.IOException;rnimport java.io.ObjectInputStream;rnimport java.io.ObjectOutputStream;rnimport java.io.Serializable;rnrnpublic class Retread rn rn public static void main(String[] args) rnrn SpecialSerial s=new SpecialSerial();rn rn tryrn ObjectOutputStream os=new ObjectOutputStream(new FileOutputStream("myFile"));rn os.writeObject(s); os.close();rn System.out.println( ++s.z+" ");rn rn ObjectInputStream is=new ObjectInputStream(new FileInputStream("myFile"));rn SpecialSerial s2=(SpecialSerial) is.readObject();rn System.out.println(s2.y+" "+s2.z);rn catch (Exception e) rn // TODO: handle exceptionrn rn rn rn rnrnrnrnrnrnclass SpecialSerial implements Serializablern transient int y=7;rn static int z=9;rnrnrnrn要求输出时10 7 10rnrn关键是如何输出7rnrn在类SpecialSerial中如何重写readObject()方法来实现?rnrnrn谢谢rnrnrnrnrnrn-------------------------------------------rnrn-------------------------------------------rnrn-------------------------------------------rn-------------------------------------------rn
这又是为什么呢
未处理的“System.Threading.ThreadStateException”类型的异常出现在 System.Windows.Forms.dll 中。rnrn其他信息: 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常。
这又是怎么回事呢?
<%@ import namespace="system.data"%>rn<%@import namespace="system.data.oledb"%>rn<%@page language="vb" debug="true"%>rn rnrnrn在这条语句中mycommand.fill(ds,"News")提示:语法错误 (操作符丢失) 在查询表达式 'id N' 中。rn大家帮我看一下这是什么原因哟?rn我真的好菜的,但还想学好这东东。rn
这又是怎么回事呢?
CEx04aView::CEx04aView():m_rectEllipse(20,20,200,200)rnrn // TODO: add construction code herern m_nColor=GRAY_BRUSH;rnrn为什么m_rectEllipse会在构造函数名的后面初始化呢?