
DS习题及答案
RangerWolf
这个作者很懒,什么都没留下…
展开
-
将两个整型有序单向链表合成一个有序表
思路一:新建一个头节点,将原来的两个链表的节点依次插入到新节点之后~(也有其他的思路,比如不新建一个头节点,直接在原来的基础之上进行交换,但是感觉思路以及实现上面没有第一个思路来得清晰简单。 以后再实现吧~)一个bug 如果两个链表中有一个为空时 此时会出错解决思路: 就检测第一个链表。如果为空,则直接返回第二个链表。无论第二个是否为空都行。这个是节点[code="...原创 2010-09-24 20:30:24 · 259 阅读 · 0 评论 -
根据有序表L2表的值删除L1表的节点
原题:根据有序表L2的值删除链表L1的节点。比如:L1 = {A,B,C,D,E,F}, L2={1,2,3,10}那么删除之后L1={A,E,F},因为节点10不存在下面是节点类(也为了其他测试的用途,实现了一个copy接口)[code="java"]public class Node implements Cloneable { public String ...原创 2010-09-24 21:13:31 · 197 阅读 · 0 评论 -
编写一个方法,检测两个单向链表的内容是否相同
思路:在百度知道上面有个人是这么回答的:1:设置一个BO0L性变量 res=true;2:读每个单向链表的第一个字符 *a,*b3:*a=*b?next():res=false;4:继续到2; 我觉得吧,对于像int short等比较好比较的类型的链表,我直接先排序然后再比较。如果是String类型的,也可以操作,比如按照字符的大小进行排序然后在比较,这样也可以。如果是...原创 2010-09-24 21:43:19 · 504 阅读 · 0 评论 -
逆置单链表
逆置单链表可能是一个非常非常常见的数据结构的题目了蛮经典的在这里再写一次。 其实我还是写了蛮久的,汗一个我的编程能力~只放了main方法 不过够了[code="java"]public static void main(String[] args) { Node a1 = new Node("a",null); Node a2 = new Node("b",nu...原创 2010-09-26 10:12:01 · 187 阅读 · 0 评论 -
修改自然数的定义
定义一:1)0,1,2,3,4,5,6,7,8,9∈N2)如果n∈N,那么n0,n1,n2,n3,n4,n5,n6,n7,n8,n9∈N3)只有以上定义的这些才是自然数问题:以上的定义将00,001,00001等也包括在自然数之内了。修改定义,使得所有的自然数都不以0开头。我的答案:1)0,1,2,3,4,5,6,7,8,9∈N2)如果n∈N,那么[b]1n...原创 2010-09-26 10:36:26 · 393 阅读 · 0 评论 -
输入1~n 与 n~1 之间的奇数
这是从1到n的~从n到1的略~ 交换一下一句话的位置即可[code="java"]public class Test { public static void main(String[] args) { outputOdd(10); } public static void outputOdd(int n) { if(n>1) { output...原创 2010-09-26 10:51:26 · 379 阅读 · 0 评论 -
采用递归的方法给正整数n加上分隔符','
题目:采用[b]递归[/b]的方法给正整数n加上分隔符','比如 1234567 ==> 1,234,567其中putCommas()是我自己的方法,insertCommas()是google出来的一个老外写的方法。我的分隔符是从前面开始加的,比如上面的例子,我是先在1之后加上',',而老外那个insertCommas是从后面开始加上去的先贴上代码吧 等下再分析[code=...原创 2010-09-26 11:36:42 · 195 阅读 · 0 评论 -
用正则表达式去掉多余的空格与标点符号 Java
转帖过来的 直接看程序吧[code="java"]public class StringUtil { public void demo() { // String stringInfo = // "{infoNum='10' EdwardBlog='http://hi.baidu.com/Edwardworld' topicLength='20' titl...原创 2010-09-26 13:13:05 · 823 阅读 · 0 评论