最近在看面试题的时候发现,一些基础的算法都记不住了,只是能大概说出个原理….为了加深记忆,这里对一些简单的算法题进行一个归纳。
下面的代码主要解决的问题是:给定一颗二叉树,要求输出它的层序遍历,并在每行开始时输出行号。
测试用例样例:
输入:节点值为1-7的满二叉树。
预期结果:
1 : 1
2 : 2 3
3 : 4 5 6 7
下面是Java实现:
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
import java.util.Stack;
/*
Created by Flynnon on 17-2-26.
对二叉树带行号的层序遍历的归纳
*/
/**
* 定义节点类
* 为了简单就不定义getter/setter方法了
*/
class Node {
public int value;
public Node left;
public Node right;
public Node() {
this(0);
}
public Node(int v) {