private string GetString(HuffmanNode root, StringBuilder sb, int len) { if (root == null || len < 0 || len > sb.Length) { return(""); } if (root.left == null && root.right == null) { sb.Remove(0, len); return(root.letter.ToString()); } if (sb[len] == '0') { return(GetString(root.left, sb, len + 1)); } if (sb[len] == '1') { return(GetString(root.right, sb, len + 1)); } return(""); }
public HuffmanNode() { this.left = null; this.right = null; }