Skip to content

Commit d89626a

Browse files
committed
add more
1 parent 3e16c29 commit d89626a

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

133 Clone Graph.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/**
2+
* Definition for undirected graph.
3+
* function UndirectedGraphNode(label) {
4+
* this.label = label;
5+
* this.neighbors = []; // Array of UndirectedGraphNode
6+
* }
7+
*/
8+
/**
9+
* @param {UndirectedGraphNode} graph
10+
* @return {UndirectedGraphNode}
11+
*/
12+
var cloneGraph = function(graph) {
13+
var visited = {};
14+
15+
if(graph === null){
16+
return graph;
17+
}else{
18+
return dfs(graph);
19+
}
20+
21+
function dfs(node){
22+
var newNode = null;
23+
24+
if(visited[node.label]){
25+
newNode = visited[node.label];
26+
}else{
27+
newNode = new UndirectedGraphNode(node.label);
28+
visited[node.label] = newNode;
29+
}
30+
31+
for(var i = 0; i < node.neighbors.length; i++){
32+
if(!visited[node.neighbors[i].label]){
33+
newNode.neighbors.push(dfs(node.neighbors[i]));
34+
}else{
35+
newNode.neighbors.push(visited[node.neighbors[i].label]);
36+
}
37+
}
38+
return newNode;
39+
}
40+
};

279. Perfect Squares.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* @param {number} n
3+
* @return {number}
4+
*/
5+
var numSquares = function(n) {
6+
7+
};

0 commit comments

Comments
 (0)