0%

三指针法遍历,一次遍历则完成反转:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ListNode* ReverseList(ListNode* pHead) {
//no node
if(pHead==nullptr) return pHead;
ListNode* pre=nullptr,*mid=pHead,*last=nullptr;
//more node/single node
while(mid->next!=nullptr){
//confirm the location
last=mid->next;
mid->next=pre; pre=mid;mid=last;
}
mid->next=pre;
pHead=mid;
return pHead;
}

题目描述

Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.

Read more »

解法一

递归思路,需要重新创建一个链表,空间复杂度O(1)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ListNode* Merge(ListNode* pHead1, ListNode* pHead2)
{
if(pHead1==nullptr) return pHead2;
if(pHead2==nullptr) return pHead1;
ListNode* list;
if(pHead1->val>pHead2->val){
list=pHead2;
list->next=Merge(pHead1,pHead2->next);
}
else{
list=pHead1;
list->next=Merge(pHead1->next,pHead2);
}
return list;
}
Read more »

JUnit4官网

http://junit.org/junit4/

JUnit4使用的基本知识

JUnit4在java项目中的应用(这里我的IDE是eclipse): 项目属性–>java build path–>libraries–>add library–>JUnit

  • 测试方法上必须使用@Test进行修饰
  • 测试方法必须使用public void 进行修饰,不能带任何参数
  • 新建一个源代码目录来存放我们的测试代码
  • 测试类的包应该和被测试类保持一致
  • 测试单元中的每个方法必须可以独立测试,测试间不能有任何的依赖
  • 测试类使用Test作为类名的后缀。(不是必须)
  • 测试方法使用test作为方法名的后缀。(不是必须)
Read more »

在前后端交互的过程中,不可避免遇上跨域问题。跨域问题有很多种解决方法,下面给出使用jsonp解决跨域的案例:

客户端的请求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$.ajax({
url: URL,
type: "GET",
async: false,
data: requestParam,
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "dataDeal",
success: function (message) {

},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("statusText:" + XMLHttpRequest.statusText + "\nstatus: " + XMLHttpRequest.status + ";\nreadyState: " + XMLHttpRequest.readyState +
";\ntextStatus: " + textStatus);
this;
}
Read more »

jQuery动态创建form表单提交参数案例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function example(page){
var currentPage=page;
//创建url
var url="/notice/s";
//创建要提交的参数
var type=$("#typeSelect").val();
var number=$("#noticeNumber").val();
var status=$("#statusSelect").val();
//创建form
var form=$("<form></form>");
//设置属性
form.attr("action",url);
form.attr("method","post");
//创建input,即参数
var inputType=$("<input type='text' name='pType'/>");
inputType.attr("value",type);
var inputNumber=$("<input type='text' name='pNumber'/>");
inputNumber.attr("value",number);
var inputStatus=$("<input type='text' name='pStatus'/>");
inputStatus.attr("value",status);
var inputPage=$("<input type='text' name='pCurrentPage'/>");
inputPage.attr("value",currentPage);
//注入参数到表单
form.append(inputType);
form.append(inputNumber);
form.append(inputStatus);
form.append(inputPage);
form.appendTo("body");
form.hide();
//提交表单
form.submit();
}
Read more »

一个简单的ajax请求案例,后端springmvc接收请求:

请求端(js,ajax)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//ajax执行请求
var data={number:username,password:mdPwd};
$.ajax({
url:"/userLogin",
type:"POST",
async:false,
data: data,
dataType: "json",
success:function (message){
if(message.status==1){
window.location.href="/";
}else{
alert(message["error"]);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){
alert("statusText:"+XMLHttpRequest.statusText+"\nstatus: "+XMLHttpRequest.status+";\nreadyState: "+XMLHttpRequest.readyState+
";\ntextStatus: "+textStatus);
this;
}
});
Read more »